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;