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

Oracle ट्रिगर - परिवर्तनशील तालिकाओं के साथ समस्या

जैसा कि आपने देखा है कि ट्रिगर के साथ अपनी व्यावसायिक आवश्यकताओं का उत्तर देना कठिन होगा। इसका कारण यह है कि Oracle हो सकता है एक ही क्वेरी (समानांतर डीएमएल) के लिए एक ही समय में एक से अधिक थ्रेड वाली तालिकाओं को अद्यतन/सम्मिलित करें। इसका अर्थ है कि आपका सत्र उस तालिका को क्वेरी नहीं कर सकता जिसे वह अपडेट करता है अपडेट होने के दौरान

यदि आप वास्तव में ट्रिगर के साथ ऐसा करना चाहते हैं तो आपको टॉम कायटे द्वारा इस लेख में दिखाया गया तर्क का प्रकार . जैसा कि आप देख सकते हैं कि यह कुछ आसान नहीं है।

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

इन प्रक्रियाओं से पैरेंट रो पर लॉक हो जाएगा (पंक्तियों के एक ही सेट को संशोधित करने के लिए कई सत्रों को रोकने के लिए) और आपके व्यावसायिक तर्क को एक कुशल, पठनीय और आसानी से बनाए रखने योग्य तरीके से लागू करेगा।



  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. हाइबरनेट:एक वर्चर लौटने वाले संग्रहीत फ़ंक्शन को कैसे कॉल करें?

  3. EM12c डेटाबेस समय व्यतीत प्रतीक्षा अलर्ट

  4. Oracle pl/sql का उपयोग करके नेमस्पेस के साथ एक्सएमएल क्लॉब से मूल्य निकालना

  5. Oracle SQL मनमाने ढंग से पंक्तियों को लौटाता है जब क्लॉज द्वारा कोई ऑर्डर नहीं किया जाता है