DUPLICATE_RECORD
एक प्रतिबंधित प्रक्रिया है और आप इसका उपयोग WHEN-VALIDATE-RECORD
में नहीं कर सकते ट्रिगर (या इसी तरह का कोई अन्य)।
जैसा कि आपको अगले रिकॉर्ड पर नेविगेट करना होगा (यदि आप इसे कॉपी करना चाहते हैं), भले ही आपने उस प्रतिबंधित प्रक्रिया को रखा हो किसी अन्य PL/SQL प्रोग्राम यूनिट में, सब कुछ बस प्रचार होगा और - अंततः - वही त्रुटि उठाएँ। तो ... आपकी किस्मत खराब है।
यहां तक कि अगर आपने एक (संग्रहीत) प्रक्रिया लिखी है जो उस "जूनियर" पंक्ति को दृश्य के पीछे कहीं डेटाबेस में डाल देगी, तो आपको उन मानों को स्क्रीन पर लाना होगा। EXECUTE_QUERY
. के रूप में इसे करने का तरीका है, और जैसा कि यह (अभी तक एक और) प्रतिबंधित प्रक्रिया है, वह भी काम नहीं करेगी।
यदि आपने डेटा ब्लॉक को साफ़ करने और इसे मैन्युअल रूप से (लूप का उपयोग करके) भरने की योजना बनाई है, तो आपको NEXT_RECORD
के साथ अगले (और अगले, और अगले) रिकॉर्ड पर नेविगेट करना होगा। , और यह फिर से एक प्रतिबंधित प्रक्रिया है। इसके अलावा, यदि यह एक डेटा ब्लॉक था (और हाँ, यह है), तो आप वास्तव में डुप्लिकेट बनाएंगे सभी रिकॉर्ड के लिए एक बार जब आप परिवर्तनों को सहेज लेंगे - या तो यह अद्वितीय बाधा उल्लंघन (जो अच्छा है) के साथ विफल हो जाएगा, या आप डुप्लीकेट (जो बदतर है) बना देंगे।
BTW WHEN-NEW-RECORD-INSTANCE
में क्या गलत है ? इसका उपयोग करते समय आपको क्या समस्याएं आती हैं?