sql >> Databáze >  >> RDS >> PostgreSQL

Jak zjistit, zda byla v této relaci inicializována sekvence?

Craig, a_horse a pozs poskytli informace, které vám mohou pomoci pochopit principy používání sekvencí. Kromě otázky, jak ji budete používat, je zde funkce, která vrací aktuální hodnotu sekvence, pokud byla inicializována nebo jinak null.

Pokud je sekvence seq ještě nebyl inicializován, currval(seq) vyvolá výjimku s sqlstate 55000.

create or replace function current_seq_value(seq regclass)
returns integer language plpgsql 
as $$
begin
    begin
        return (select currval(seq));
    exception
        when sqlstate '55000' then return null;
    end;
end $$;

select current_seq_value('my_table_id_seq')


  1. Jak zajistit, aby MySQL považovalo podtržítko za oddělovač slov pro fulltextové vyhledávání?

  2. 10 hlavních důvodů, proč používat Access a Excel společně

  3. Simulace šifrování MySql password() pomocí .NET nebo MS SQL

  4. Nejlepší způsob, jak uložit obrovská data protokolu