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

ORACLE अद्यतन ट्रिगर के बाद:ORA-04091 उत्परिवर्तित तालिका त्रुटि को हल करना

<ब्लॉकक्वॉट>

"क्या मूल्यों या स्वायत्त लेनदेन के लिए अस्थायी तालिका का उपयोग किए बिना परिवर्तनशील तालिका त्रुटि से बचने का कोई तरीका है?"

tl;डॉ नहीं.

उत्परिवर्तित तालिका त्रुटि उस तालिका को क्वेरी करने के कारण होती है जो ट्रिगर का मालिक है, या टेबल जो मालिक तालिका के साथ एक विदेशी कुंजी संबंध में शामिल हैं (कम से कम डेटाबेस के पुराने संस्करणों में, यह सुनिश्चित नहीं है कि यह अभी भी प्राप्त होता है)।

ठीक से डिज़ाइन किए गए एप्लिकेशन में यह आवश्यक नहीं होना चाहिए। यही कारण है कि बहुत से लोग परिवर्तनशील तालिकाओं को खराब डेटा मॉडलिंग के संकेतक के रूप में देखते हैं। उदाहरण के लिए, उत्परिवर्तन अक्सर अपर्याप्त सामान्यीकरण से जुड़ा होता है।

जेमी ज़विंस्की की व्याख्या करने के लिए:कुछ लोग, जब एक परिवर्तनशील तालिका अपवाद का सामना करते हैं, तो सोचते हैं "मुझे पता है, मैं स्वायत्त लेनदेन का उपयोग करूंगा।" अब उन्हें दो दिक्कतें हैं।

कभी-कभी त्रुटि को केवल संशोधित करके :नए मानों को पहले सम्मिलित या अद्यतन ट्रिगर में या वर्चुअल कॉलम का उपयोग करके टाला जा सकता है। लेकिन यह देखने के लिए कि क्या ये लागू होते हैं, आपको अधिक विवरण पोस्ट करना होगा।

लेकिन सबसे अच्छा उपाय यह है कि किसी अन्य प्रकार की आवश्यकता न हो।




  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 कार्य जो Oracle में एक तिथि से दिन, महीना और वर्ष प्राप्त करते हैं

  2. ओरेकल में सबक्वेरी क्या है?

  3. Oracle में regexp_replace द्वारा अल्पविराम से अलग की गई सूची से डुप्लिकेट कैसे निकालें?

  4. JSON_VALUE () Oracle में फ़ंक्शन

  5. अपडेट ज्वाइन करने में त्रुटि