Oracle では、select ステートメントを使用して、現在のシーケンスの値をクエリできます。構文は、「select シーケンス名.currval from Dual」です。currval は、現在のシーケンスの値を返すことを意味します。最初に行う必要があります。 nextval を使用して、次のシーケンスの値をクエリします。その場合にのみ、このステートメントを使用して現在のシーケンス値をクエリできます。
このチュートリアルの動作環境: Windows 10 システム、Oracle 11g バージョン、Dell G3 コンピューター。
select 序列名.currval from dual; //获取序列的当前值,这个值是可变的。
次の点に注意してください:
データベース接続が成功した後、この文が実行された場合、初回は例外が報告され、使用できません。
ステートメント内の単語のスペルが間違っているわけではない場合は、次の SQL ステートメント (select sequence name.nextval from Dual;) が最初に実行されていないことが原因です。
つまり、最初にシーケンスの現在の値と増分の後の値を取得します。 (私はこれが何なのかまだ知りませんし、まだ勉強していません)
シーケンスの値をクエリする
シーケンスが作成された後、次のようにします。現在のシーケンスの値を直接クエリすることはできません。まず nextval を使用して次のシーケンスの値をクエリし、次に currval を使用して現在のシーケンスの値をクエリする必要があります。
クエリ シーケンス
select sequence_name ,last_number, min_value,max_value,increment_by from user_sequences
nextval を使用して初めてクエリされる値は (n で始まる) です。
select dept_deptid_seq.nextval from dual
その後は、currval を自由に使用できます。
select dept_deptid_seq.currval from dual
シーケンスが再度クエリされると、その last_number がシーケンスの次の値になります。
推奨チュートリアル: 「Oracle ビデオ チュートリアル 」
以上がOracleで現在のシーケンスの値をクエリする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。