SEQUENCE(順序)の情報を参照するには、
SEQUENCESデータディクショナリビューを参照します。
SEQUENCESデータディクショナリの種類
SEQUENCESデータディクショナリビューには以下3種類があります。
DBA_SEQUENCES | 全てのSEQUENCE情報を対象とする ※権限が必要 |
---|---|
ALL_SEQUENCES | ログインユーザが参照可能なSEQUENCEを対象とする |
USER_SEQUENCES | ログインユーザが保持するSEQUENCEを対象とする |
SEQUENCESデータディクショナリの定義
SEQUENCESデータディクショナリの定義です。
(DBA/ALL/USERの違いは、OWNER列のありなしのみです。)
列名 | 型 | メモ |
---|---|---|
SEQUENCE_OWNER | VARCHAR2(30) | シーケンスの所有者 ※DBA_SEQUENCES/ALL_SEQUENCESのみ |
SEQUENCE_NAME | VARCHAR2(30) | シーケンス名 |
MIN_VALUE | NUMBER | 発番する最小の値 |
MAX_VALUE | NUMBER | 発番する最大の値 |
INCREMENT_BY | NUMBER | 増分 |
CYCLE_FLAG | VARCHAR2(1) | 順序の繰り返しをするかどうか (Y:する N:しない) ※デフォルト:N |
ORDER_FLAG | VARCHAR2(1) | 番号が順番に生成されるかどうか (Y:される N:保証しない) ※デフォルト:N |
CACHE_SIZE | NUMBER | キャッシュする順序番号の数 |
LAST_NUMBER | NUMBER | 発番された最後の数 |
PARTITION_COUNT | 順序におけるパーティションの番号 | |
SESSION_FLAG | 順序値がセッションプライベートであるかどうか (Y/N) | |
KEEP_VALUE | エラー後の応答時に順序値が保持されるかどうか (Y/N) |
サンプル
SEQUENCESデータディクショナリビューを検索するサンプルです。
1 2 |
SELECT sequence_name FROM ALL_SEQUENCES; |
1 2 3 4 5 6 |
SELECT last_number FROM USER_SEQUENCES WHERE sequence_name = 'SEQ_CD1'; --以下でも可です。 SELECT SEQ_CD1.CURRVAL FROM dual; |
メモ
- SEQUENCE_NAMEを検索条件とする場合、SEQUENCE名は必ず大文字で指定してください。
- DBA_SEQUENCESを検索する場合は、すべてのSEQUENCEを参照する権限が必要です。
- USER_SEQUENCESは、「SEQ」シノニムでもアクセス可能です。
(例)SELECT * FROM SEQ;