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

Oracle में COMMIT पर ट्रिगर कैसे परिभाषित करें?

Oracle में कोई ON COMMIT ट्रिगर तंत्र नहीं है। हालांकि इसके समाधान हैं:

  1. आप ऑन कमिट रिफ्रेश के साथ एक भौतिक दृश्य का उपयोग कर सकते हैं और इस एमवी में ट्रिगर्स जोड़ सकते हैं। यह आपको तर्क को ट्रिगर करने की अनुमति देगा जब आधार तालिका को संशोधित किया गया हो प्रतिबद्धता के समय . यदि ट्रिगर कोई त्रुटि उत्पन्न करता है, तो लेन-देन वापस ले लिया जाएगा (आप सभी अप्रतिबद्ध परिवर्तन खो देंगे)।

  2. प्रतिबद्धता के बाद किसी क्रिया को स्थगित करने के लिए आप DBMS_JOB का उपयोग कर सकते हैं। यह एक अतुल्यकालिक क्रिया होगी और कुछ मामलों में वांछनीय हो सकती है (उदाहरण के लिए जब आप लेनदेन के सफल होने के बाद एक ईमेल भेजना चाहते हैं)। यदि आप प्राथमिक लेन-देन वापस लेते हैं, तो कार्य रद्द कर दिया जाएगा। कार्य और प्राथमिक सत्र स्वतंत्र हैं:यदि कार्य विफल रहता है तो मुख्य लेन-देन वापस नहीं लिया जाएगा।

आपके मामले में, आप शायद विकल्प (1) का उपयोग कर सकते हैं। मैं व्यक्तिगत रूप से ट्रिगर्स में व्यावसायिक तर्क को कोड करना पसंद नहीं करता क्योंकि यह बहुत जटिलता जोड़ता है लेकिन तकनीकी रूप से मुझे लगता है कि यह संभव होगा।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या ODP.NET को Oracle क्लाइंट संस्थापन की आवश्यकता है

  2. Oracle में समय क्षेत्र बदलने के 4 तरीके

  3. Oct2014CPU, ArcGIS डेस्कटॉप को क्रैश करता है

  4. मैं ऑब्जेक्ट प्रकारों की नेस्टेड तालिकाओं के साथ Oracle तालिका कैसे बनाऊं?

  5. विंडोज़ पर ओरेकल एसक्यूएल डेवलपर के साथ शुरुआत करना