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

सभी पंक्तियों में ट्रिगर स्थिति

एक ट्रिगर जो उसी तालिका के विरुद्ध DML (चयन सहित) जारी करता है, जो ट्रिगर का मालिक है, ORA-4091, उत्परिवर्तित तालिका अपवाद का भूत उठाता है। Oracle इस त्रुटि को दूर करता है क्योंकि यह अपेक्षा करता है कि लेन-देन का परिणाम नियतात्मक होगा, और एक ट्रिगर जो DML को अपनी तालिका में जारी करता है, कार्यवाही में अनिश्चितता का परिचय देता है।

उत्परिवर्तन तालिका खराब डिज़ाइन का एक विश्वसनीय संकेतक है, विशेष रूप से एक खराब डेटा मॉडल और यहां ऐसा ही प्रतीत होता है।

यदि जुर्माने का मूल्य एकल अवलोकन के परिणाम पर निर्भर है तो FINE के लिए OBSERVACION तालिका पर एक कॉलम होना ठीक है। हालांकि आपके व्यवसाय के नियम बताते हैं कि यदि वे एक निश्चित अवधि के भीतर आते हैं, तो मूल्य कई टिप्पणियों पर निर्भर हो सकता है। इस परिदृश्य में जुर्माना अपनी तालिका में होना चाहिए। आपको OBSERVACION और MULTA के बीच एक विदेशी कुंजी की आवश्यकता होगी यह इंगित करने के लिए कि कौन से अवलोकन एक विशेष जुर्माना द्वारा कवर किए गए हैं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle नल और खाली तार के बीच अंतर नहीं कर रहा है?

  2. आप बाहरी जॉइन ऑपरेशन के साथ OR या IN का उपयोग क्यों नहीं कर सकते?

  3. तालिका में एकाधिक बाधाएं:सभी उल्लंघन कैसे प्राप्त करें?

  4. एक चुनिंदा वक्तव्य में चर घोषित करना और सेट करना

  5. एक पीएल/एसक्यूएल पंक्ति ट्रिगर कैसे बनाएं जो किसी अन्य तालिका से कॉलम को मान्य करता है