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

Oracle स्वचालित रूप से मल्टीरिकॉर्ड ब्लॉक भाग 2 में रिकॉर्ड सम्मिलित करता है

DUPLICATE_RECORD एक प्रतिबंधित प्रक्रिया है और आप इसका उपयोग WHEN-VALIDATE-RECORD में नहीं कर सकते ट्रिगर (या इसी तरह का कोई अन्य)।

जैसा कि आपको अगले रिकॉर्ड पर नेविगेट करना होगा (यदि आप इसे कॉपी करना चाहते हैं), भले ही आपने उस प्रतिबंधित प्रक्रिया को रखा हो किसी अन्य PL/SQL प्रोग्राम यूनिट में, सब कुछ बस प्रचार होगा और - अंततः - वही त्रुटि उठाएँ। तो ... आपकी किस्मत खराब है।

यहां तक ​​​​कि अगर आपने एक (संग्रहीत) प्रक्रिया लिखी है जो उस "जूनियर" पंक्ति को दृश्य के पीछे कहीं डेटाबेस में डाल देगी, तो आपको उन मानों को स्क्रीन पर लाना होगा। EXECUTE_QUERY . के रूप में इसे करने का तरीका है, और जैसा कि यह (अभी तक एक और) प्रतिबंधित प्रक्रिया है, वह भी काम नहीं करेगी।

यदि आपने डेटा ब्लॉक को साफ़ करने और इसे मैन्युअल रूप से (लूप का उपयोग करके) भरने की योजना बनाई है, तो आपको NEXT_RECORD के साथ अगले (और अगले, और अगले) रिकॉर्ड पर नेविगेट करना होगा। , और यह फिर से एक प्रतिबंधित प्रक्रिया है। इसके अलावा, यदि यह एक डेटा ब्लॉक था (और हाँ, यह है), तो आप वास्तव में डुप्लिकेट बनाएंगे सभी रिकॉर्ड के लिए एक बार जब आप परिवर्तनों को सहेज लेंगे - या तो यह अद्वितीय बाधा उल्लंघन (जो अच्छा है) के साथ विफल हो जाएगा, या आप डुप्लीकेट (जो बदतर है) बना देंगे।

BTW WHEN-NEW-RECORD-INSTANCE में क्या गलत है ? इसका उपयोग करते समय आपको क्या समस्याएं आती हैं?



  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. त्रुटि ORA-01804 के लिए पाठ पुनर्प्राप्त करने का प्रयास करते समय त्रुटि

  3. Oracle डेटा पंप निर्यात फ़ाइल के अंदर स्कीमा का निर्धारण कैसे करें

  4. एक विशिष्ट मूल्य (ओरेकल) के लिए सभी तालिकाओं में सभी फ़ील्ड खोजें

  5. Oracle में Rows को Column में कैसे बदलें?