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

तालिका से अधिकतम मूल्य से शुरू होने वाला ओरेकल अनुक्रम कैसे बनाएं?

यदि आप पीएल/एसक्यूएल का उपयोग कर सकते हैं, तो कोशिश करें (संपादित करें:अगले उच्च मूल्य पर शुरू करने के लिए नील का xlnt सुझाव शामिल है):

SELECT 'CREATE SEQUENCE transaction_sequence MINVALUE 0 START WITH '||MAX(trans_seq_no)+1||' INCREMENT BY 1 CACHE 20'
  INTO v_sql
  FROM transaction_log;

EXECUTE IMMEDIATE v_sql;

विचार करने के लिए एक अन्य बिंदु:CACHE पैरामीटर को 20 पर सेट करके, यदि डेटाबेस नीचे चला जाता है, तो आप अपने क्रम में 19 मान तक खोने का जोखिम उठाते हैं। डेटाबेस के पुनरारंभ होने पर कैश्ड मान खो जाते हैं। जब तक आप अनुक्रम को बहुत बार हिट नहीं कर रहे हैं, या, आप अंतराल के बारे में ज्यादा परवाह नहीं करते हैं, मैं इसे 1 पर सेट कर दूंगा।

एक अंतिम जानकारी:आपके द्वारा CACHE और INCREMENT BY के लिए निर्दिष्ट मान डिफ़ॉल्ट हैं। आप उन्हें छोड़ सकते हैं और वही परिणाम प्राप्त कर सकते हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. अपडेट ज्वाइन करने में त्रुटि

  2. जावा में SQL स्ट्रिंग बनाने का सबसे साफ तरीका

  3. कैसे Oracle में स्तंभों के संयोजन के लिए एक अद्वितीय बाधा देने के लिए?

  4. मैं ऑरैकल में मौजूदा टेबल पर एक डीडीएल स्क्रिप्ट कैसे उत्पन्न (या प्राप्त) कर सकता हूं? मुझे उन्हें हाइव में फिर से बनाना है

  5. Oracle क्लाउड प्लेटफ़ॉर्म पर Oracle डेटाबेस 12c के साथ Oracle JDeveloper 12c का उपयोग करना, भाग 3