SELECT last_number
FROM all_sequences
WHERE sequence_owner = '<sequence owner>'
AND sequence_name = '<sequence_name>';
user_sequences
からさまざまなシーケンスメタデータを取得できます 、all_sequences
およびdba_sequences
。
これらのビューはセッション間で機能します。
編集:
シーケンスがデフォルトのスキーマにある場合:
SELECT last_number
FROM user_sequences
WHERE sequence_name = '<sequence_name>';
すべてのメタデータが必要な場合:
SELECT *
FROM user_sequences
WHERE sequence_name = '<sequence_name>';
お役に立てば幸いです...
編集2:
キャッシュサイズが1でない場合に、より確実にそれを行うための長い道のりは次のようになります。
SELECT increment_by I
FROM user_sequences
WHERE sequence_name = 'SEQ';
I
-------
1
SELECT seq.nextval S
FROM dual;
S
-------
1234
-- Set the sequence to decrement by
-- the same as its original increment
ALTER SEQUENCE seq
INCREMENT BY -1;
Sequence altered.
SELECT seq.nextval S
FROM dual;
S
-------
1233
-- Reset the sequence to its original increment
ALTER SEQUENCE seq
INCREMENT BY 1;
Sequence altered.
この間に他の人がシーケンスを使用している場合は、他の人(またはあなた)が
を取得する可能性があることに注意してください。ORA-08004: sequence SEQ.NEXTVAL goes below the sequences MINVALUE and cannot be instantiated
また、キャッシュをNOCACHE
に設定することもできます。 リセットする前に、その後元の値に戻して、多くの値をキャッシュしていないことを確認します。