PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Làm thế nào để tìm hiểu xem một trình tự đã được khởi tạo trong phiên này hay chưa?

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')


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgresql GROUP_CONCAT tương đương?

  2. Truy vấn cơ sở dữ liệu không đồng bộ với PostgreSQL trong Node không hoạt động

  3. psql:FATAL:xác thực mật khẩu không thành công cho người dùng

  4. Cách nâng cấp cơ sở dữ liệu postgresql từ 10 lên 12 mà không làm mất dữ liệu cho dự án mở

  5. Postgres không thể kết nối với máy chủ trên Unix miền socket 5432