Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Làm thế nào để truy xuất giá trị hiện tại của một chuỗi oracle mà không tăng nó?

SELECT last_number
  FROM all_sequences
 WHERE sequence_owner = '<sequence owner>'
   AND sequence_name = '<sequence_name>';

Bạn có thể nhận được nhiều loại siêu dữ liệu trình tự từ user_sequences , all_sequencesdba_sequences .

Các chế độ xem này hoạt động trong các phiên.

CHỈNH SỬA:

Nếu chuỗi nằm trong giản đồ 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 có tất cả siêu dữ liệu thì:

SELECT *
  FROM user_sequences
 WHERE sequence_name = '<sequence_name>';

Hy vọng nó sẽ giúp ...

EDIT2:

Một cách dài hơi để làm điều đó một cách đáng tin cậy hơn nếu kích thước bộ nhớ cache 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ộ nhớ cache 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 vào bộ nhớ cache nhiều giá trị.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Xóa bằng kết nối trái trong Oracle 10g

  2. cách chèn ngày hiện tại vào trường DATE ở định dạng dd / mm / yyyy trong oracle

  3. Chúng ta có thể có nhiều WITH AS trong một sql không - Oracle SQL

  4. Sự khác biệt giữa mệnh đề ON và WHERE trong phép nối bảng SQL

  5. Trả về kết quả của một truy vấn sql dưới dạng JSON trong oracle 12c