Oracleのシーケンス
高速に連番を発行するための仕組み。ただし、設定により番号の増分を変えられる。
シーケンスの作成
CREATE SEQUENCE を使用する。CREATE SEQUENCE sequence_name;
シーケンスを調べる
静的データディクショナリALL_SEQUENCES、DBA_SEQUENCES、USER_SEQUENCESを調べる。- ALL_SEQUENCES
- ログインしているユーザーがアクセスできる全ての順序。
- DBA_SEQUENCES
- データベース内の全ての順序。
- USER_SEQUENCES
- ログインしているユーザーが所有する全ての順序。
主要項目一覧
列名 | 説明 |
---|---|
SEQUENCE_OWNER | 順序の所有者の名前 |
SEQUENCE_NAME | 順序名 |
MIN_VALUE | 順序の最小値 |
MAX_VALUE | 順序の最大値 |
INCREMENT_BY | 順序が増やされるときの増分値 |
CYCLE_FLAG | 限度に達したときに、順序の繰返しを実行するかどうか |
ORDER_FLAG | 順序番号が順番に生成されるかどうか |
CACHE_SIZE | キャッシュする順序番号の数 |
LAST_NUMBER | 最後にディスクに書き込まれる順序番号。順序にキャッシュが使用される場合、ディスクに書き込まれる番号は、最後に順序キャッシュに入れられた番号。この番号は前回に使用された順序番号より大きくなる。 |
DESC user_sequences; Name Null? Type -------------------- -------- ---------------- SEQUENCE_NAME NOT NULL VARCHAR2(30) MIN_VALUE NUMBER MAX_VALUE NUMBER INCREMENT_BY NOT NULL NUMBER CYCLE_FLAG VARCHAR2(1) ORDER_FLAG VARCHAR2(1) CACHE_SIZE NOT NULL NUMBER LAST_NUMBER NOT NULL NUMBER