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

प्रज्ञा स्वायत्त_एक ट्रिगर में लेन-देन

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

क्या होता है, उदाहरण के लिए, यदि मैं t1 . में एक पंक्ति को अद्यतन करता हूं लेकिन मेरा लेन-देन वापस लुढ़क जाता है। t2 परिवर्तन पहले ही किए जा चुके हैं और प्रतिबद्ध हैं ताकि वे पीछे न हटें। इसका आम तौर पर मतलब है कि t2 डेटा अब गलत है। लेन-देन का पूरा बिंदु यह सुनिश्चित करना है कि परिवर्तनों का एक सेट परमाणु है और या तो पूरी तरह से सफल है या पूरी तरह से वापस आ गया है। कोड को आंशिक रूप से सफल होने देना लगभग कभी भी एक अच्छा विचार नहीं है।

मुझे यह देखने के लिए कड़ी मेहनत करनी पड़ रही है कि एक स्वायत्त लेनदेन का उपयोग करके आप यहां क्या खरीद रहे हैं। ट्रिगर त्रुटियों को बदलने के लिए गलत तरीके से काम करने के लिए आप अक्सर लोगों को गलत तरीके से स्वायत्त लेनदेन का उपयोग करते हुए देखेंगे। लेकिन आपके द्वारा पोस्ट किया गया कोड तब तक उत्परिवर्तित ट्रिगर त्रुटि उत्पन्न नहीं करेगा जब तक कि t2 पर एक पंक्ति-स्तरीय ट्रिगर न हो वह भी t1 . को अपडेट करने का प्रयास कर रहा था या कुछ इसी तरह का तंत्र जो एक परिवर्तनशील तालिका पेश कर रहा था। यदि ऐसा है, हालांकि, एक स्वायत्त लेनदेन का उपयोग करना आम तौर पर और भी बुरा होता है क्योंकि स्वायत्त लेनदेन तब मूल लेनदेन में किए जा रहे परिवर्तनों को नहीं देख सकता है जो लगभग निश्चित रूप से कोड को आपकी इच्छा से अलग व्यवहार करने का कारण बनता है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ओरेकल में 1 स्तर की गहरी घोंसले की सीमा से कैसे निपटें?

  2. Oracle फ़ज़ी खोज रिक्त स्थान के साथ

  3. Oracle SQL डेवलपर समस्या वेलकम पेज को इनिशियलाइज़ कर रही है

  4. लोब प्रतिधारण

  5. मैं Oracle में एक लेगेसी लेफ्ट आउटर जॉइन स्टेटमेंट को कैसे परिवर्तित करूं?