sql >> データベース >  >> RDS >> PostgreSQL

このセッションでシーケンスが初期化されたかどうかを確認するにはどうすればよいですか?

    Craig、a_horse、およびpozsは、シーケンスの使用の原則を理解するのに役立つ情報を提供しています。どのように使用するかという質問とは別に、シーケンスが初期化されている場合はシーケンスの現在の値を返し、そうでない場合はnullを返す関数を次に示します。

    シーケンスが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')
    


    1. SQLServerフォーマット日付DD.MM.YYYYHH:MM:SS

    2. WindowsフォームアプリケーションをSQLサーバーからOracleに移行するための最良の方法

    3. 任意のテーブルの現在のAUTO_INCREMENT値を取得します

    4. MySQLエラー1045(28000):ユーザー'bill' @'localhost'のアクセスが拒否されました(パスワードを使用:YES)