Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

किसी ऑरैकल अनुक्रम के वर्तमान मूल्य को बिना वृद्धि के कैसे प्राप्त करें?

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 . पर सेट करना चाह सकते हैं रीसेट करने से पहले और फिर बाद में अपने मूल मान पर वापस यह सुनिश्चित करने के लिए कि आपने बहुत सारे मानों को कैश नहीं किया है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 9i क्लाइंट से 11g डेटाबेस से कनेक्ट करते समय ORA-01017 अमान्य उपयोगकर्ता नाम/पासवर्ड

  2. SQL क्वेरी में Oracle सहयोगी सरणी का उपयोग कैसे करें

  3. तालिका नाम के चारों ओर उद्धरण चिह्न वास्तव में क्या करते हैं?

  4. ओपच प्रीरेक

  5. जब मैं बाधा का नाम नहीं जानता तो मैं ओरेकल में एक शून्य बाधा कैसे छोड़ सकता हूं?