ここではOracleのシーケンスの情報を確認するSQL文について紹介します。

シーケンスの一覧を取得する

ユーザーがアクセスできるシーケンスを取得する

現行のユーザーがアクセスできるシーケンスを取得するには、「ALL_SEQUENCES」を参照します。

SELECT * FROM ALL_SEQUENCES ORDER BY SEQUENCE_OWNER, SEQUENCE_NAME;

ALL_SEQUENCESで取得できる主な情報は以下の通りです。

列名説明
SEQUENCE_OWNERシーケンスの所有者
SEQUENCE_NAMEシーケンスの名前
MIN_VALUEシーケンスの最小値
MAX_VALUEシーケンスの最大値
INCREMENT_BYシーケンスが増やされるときの増分値
CYCLE_FLAG限度に達したときに、順序の繰返しを実行するかどうか(Y | N)
ORDER_FLAG順序番号が順番に生成されるかどうか(Y | N)
CACHE_SIZEキャッシュする順序番号の数
LAST_NUMBER最後にディスクに書き込まれる順序番号


データベース内のシーケンスを取得する

データベース内のシーケンスを取得するには、「DBA_SEQUENCES」を参照します。

SELECT * FROM DBA_SEQUENCES ORDER BY SEQUENCE_OWNER, SEQUENCE_NAME;

DBA_SEQUENCESで取得できる情報は、ALL_SEQUENCESと同じです。


ユーザーが所有するシーケンスを取得する

現行のユーザーが所有するシーケンスを取得するには、「USER_SEQUENCES」を参照します。

SELECT * FROM USER_SEQUENCES ORDER BY SEQUENCE_NAME;

USER_SEQUENCESで取得できる情報はSEQUENCE_OWNER列を除き、ALL_SEQUENCESと同じです。


以上、Oracleのシーケンスの情報を確認するSQL文について解説しました。