SELECT last_number
FROM all_sequences
WHERE sequence_owner = '<sequence owner>'
AND sequence_name = '<sequence_name>';
Bạn có thể nhận được một loạt các siêu dữ liệu chuỗi từ user_sequences
, all_sequences
và dba_sequences
.
Những quan điểm này hoạt động trên các phiên.
BIÊN TẬP:
Nếu chuỗi nằm trong lược đồ mặc định của bạn thì:
SELECT last_number
FROM user_sequences
WHERE sequence_name = '<sequence_name>';
Nếu bạn muốn tất cả các siêu dữ liệu thì:
SELECT *
FROM user_sequences
WHERE sequence_name = '<sequence_name>';
Hy vọng nó giúp...
EDIT2:
Một cách dài hơi để làm điều đó đáng tin cậy hơn nếu kích thước bộ đệm của bạn không phải là 1 sẽ là:
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.
Chỉ cần lưu ý rằng nếu những người khác đang sử dụng trình tự trong thời gian này - họ (hoặc bạn) có thể nhận được
ORA-08004: sequence SEQ.NEXTVAL goes below the sequences MINVALUE and cannot be instantiated
Ngoài ra, bạn có thể muốn đặt bộ đệm thành NOCACHE
trước khi đặt lại và sau đó quay lại giá trị ban đầu của nó sau đó để đảm bảo rằng bạn không lưu trữ nhiều giá trị.