OracleシーケンスSequenceの使用方法を実例によって理解する。


シーケンス
シーケンス(Sequence)は、連続する整数データを生成するためのオブジェクトです。シーケンスはしばしばメインキーとして使用されます。
シーケンス内の昇順生成も、降順生成も可能です。シーケンスを作成する文法は以下の通りです。
構文構造:シーケンスの作成
CREATE SEQUEnce sequence uname
[START WITH num]
[INCREMENT BY increment]
[MAX VALE num NOMAX VALE]
[MINVALE num NOMINVALE]
[CYCLE|NOCYCLE]
【CACHE num NOCACHE】
構文解析:
①START WITH:ある整数から昇順のデフォルト値は1、降順のデフォルト値は-1です。
②INCREMENT BY:成長数。正の値であれば昇順に生成され、負の値であれば降順に生成されます。昇順マーカー
認証値は1で、降順のデフォルト値は-1です。
③MAX VALE:最大値を指します。
④NO MAX VALE:これは最大値のデフォルトオプションです。昇順の最大値は1027、降順のデフォルト値は-1です。
⑤MINVALE:最小値を指す。
⑥NOMINVALE:これは標準値オプションで、昇順のデフォルト値は1で、降順のデフォルト値は-1026です。
⑦CYCLE:昇順が最大値に達したら、最小値から再開することを示します。降順系列であれば、一番近いものになります。
小さい値の後、最大値から再開します。
⑧NOCYCLE:再スタートしないことを示し、シーケンスの昇順が最大値、降順が最小値に達したらエラーを報告する。黙します
NOCYCLEを認知する。
⑨CACHE:CACHEオプションを使用すると、シーケンス規則に従ってシリアル番号のセットが事前に生成されます。保留中
保存中は、次のシーケンス番号を使用すると、より速く応答することができます。メモリのシリアル番号がなくなったら、システム
新しいシーケンス番号のセットを再生成し、キャッシュに保存することで、シーケンス番号の生成効率を向上させることができる。Oracle
デフォルトでは20のシリアル番号が生産されます。
⑩NOCACHE:あらかじめメモリにシリアル番号を生成しない
1から開始し、デフォルトの最大値を作成します。毎回1のシーケンスを増加します。NOCYCLEに要求します。キャッシュには
あらかじめ割り当てられたシリアル番号は30個あります。
CREATE SEQUEnce MYSEQ
MINVALE 1
START WITH 1
NO MAX VALE
INCREMENT BY 1
NOCYCLE
CACHE 30
create table stu(
sid number primary key、
sname varrchar 2(20)
)
insert into stu values(MYSEQ.NEXTVAL、'小明')
insert into stu values(MYSEQ.NEXTVAL、'張さん')
シーケンスが作成された後、シーケンスオブジェクトのCURRVALとNEXTVALの2つの「疑似列」を介して、それぞれこのシーケンスにアクセスすることができる。
列の現在値と次の値
SELECT MYSEQ.NEXTVAL FROM DUAL;
SELECT MYSEQ.C.URVAL FROM DUAL;
操作例:

--      
drop sequence Sequence_Student_sid
--      
create sequence Sequence_Student_sid
start with 1000 --    1000
increment by 10 --    1
maxvalue 9999 --    9999

--     
drop table stu09
create table stu09(
sid number,
sname varchar2(100)
)

--       NEXTVAL  ,      
insert into stu09 values(Sequence_Student_sid.NEXTVAL,'  ')
insert into stu09 values(Sequence_Student_sid.nextval,'  ')

select *
from stu09
運行スクリーンショット

以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。