ホームページ  >  記事  >  データベース  >  Oracleで次のシーケンスをクエリする方法

Oracleで次のシーケンスをクエリする方法

WBOY
WBOYオリジナル
2022-05-24 17:07:065232ブラウズ

Oracle では、Select ステートメントを Nextval とともに使用して、次のシーケンスをクエリできます。Nextval は初めて初期値を返し、シーケンス値はその後毎回増加するため、次のシーケンスをクエリできます。構文は「 select シーケンス名.Nextval from Dual」です。

Oracleで次のシーケンスをクエリする方法

このチュートリアルの動作環境: Windows 10 システム、Oracle 11g バージョン、Dell G3 コンピューター。

oracle で次のシーケンスをクエリする方法

select 序列名.Nextval from dual;--生成并获得下一个序列
select 序列名.CURRVAL from dual;--如果与上述语句为同一会话,可以通过此句获得上面生成的序列。

例は次のとおりです。

Oracleで次のシーケンスをクエリする方法

知識を広げる:

SELECT INR_REQUIRMENT_SQUENCE.CURRVAL FROM dual

--現在のシーケンスの値を取得します。最初の NEXTVAL は初期値を返します。

後続の NEXTVAL は、定義した INCREMENT BY 値を自動的に増やします。増加した値を返します。 CURRVAL は常に現在のシーケンスの値を返しますが、最初の NEXTVAL 初期化後に CURRVAL を使用することもできます。それ以外の場合はエラーが発生します。

同じステートメント内で複数の NEXTVAL を使用すると、NEXTVAL はシーケンスの値を 1 回増加します。

実際、sequence は、テーブル内の行のシーケンス番号を自動的に生成し、等間隔の値のセットを生成できるシーケンス番号ジェネレーターです (タイプは数値)。その主な目的は、insert ステートメントで参照できるテーブルの主キー値を生成することです。挿入する前に、シーケンス番号の nextval 値を取得して挿入します。クエリを通じて現在の値を確認したり、シーケンスを次の値にインクリメントしたりすることもできます。

シーケンスを定義するにはどうすればよいですか?

create sequence INR_REQUIRMENT_SQUENCE  
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXVALUE -- 不设置最大值
NOCYCLE -- 一直累加,不循环
CACHE 10;

推奨チュートリアル: 「Oracle ビデオ チュートリアル

以上がOracleで次のシーケンスをクエリする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。