Craig, a_horse и pozs предоставиха информация, която може да ви помогне да разберете принципите на използване на последователности. Освен въпроса как ще я използвате, ето една функция, която връща текущата стойност на последователност, ако е била инициализирана или нула в противен случай.
Ако последователност seq
все още не е инициализирано, currval(seq)
предизвиква изключение с 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')