Craig, a_horse và pozs đã cung cấp thông tin có thể giúp bạn hiểu các nguyên tắc sử dụng trình tự. Ngoài câu hỏi bạn sẽ sử dụng nó như thế nào, đây là một hàm trả về giá trị hiện tại của một chuỗi nếu nó đã được khởi tạo hoặc null nếu không.
Nếu một chuỗi seq
vẫn chưa được khởi tạo, currval(seq)
tăng ngoại lệ với 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')