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

एक ही टेबल में रिकॉर्ड डालने के लिए INSERT ट्रिगर

उत्परिवर्तन तब होता है जब आपके पास एक पंक्ति-स्तरीय ट्रिगर होता है जो उस तालिका को संशोधित करता है जिस पर आप ट्रिगर कर रहे हैं। समस्या यह है कि ओरेकल को यह नहीं पता कि कैसे व्यवहार करना है। आप एक पंक्ति सम्मिलित करते हैं, ट्रिगर स्वयं उसी . में एक पंक्ति सम्मिलित करता है तालिका, और Oracle भ्रमित हो जाता है, कारण, जो ट्रिगर के कारण तालिका में सम्मिलित होते हैं, क्या वे भी ट्रिगर कार्रवाई के अधीन हैं?

समाधान तीन चरणों वाली प्रक्रिया है।

1.) ट्रिगर से पहले स्टेटमेंट स्तर जो एक पैकेज को इंस्टेंट करता है जो सम्मिलित की जा रही पंक्तियों का ट्रैक रखेगा।

2.) ट्रिगर से पहले या बाद में पंक्ति-स्तर जो उस पंक्ति जानकारी को पिछले चरण में तत्काल किए गए पैकेज चर में सहेजता है।

3.) ट्रिगर के बाद स्टेटमेंट स्तर जो तालिका में सम्मिलित करता है, सभी पंक्तियाँ जो पैकेज चर में सहेजी जाती हैं।

इसका एक उदाहरण यहां पाया जा सकता है:

http://asktom.oracle.com/pls/asktom/ASKTOM .download_file?p_file=6551198119097816936

आशा है कि यह मदद करता है।



  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. SQL:अमान्य डेटा को तालिका में सम्मिलित होने से रोकने के लिए ट्रिगर

  3. जावा - UTF-8 और गैर UTF-8 वर्णों के मिश्रण के साथ एक स्ट्रिंग से ठीक 60 वर्णों की गणना करें

  4. फ़ील्ड के हिस्से को क्वेरी के मानों से बदलें

  5. Oracle के साथ लंबा मुद्दा क्यों है?