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

तो Oracle अपवाद हैंडलर में `रोलबैक` मेरे `रोलबैक` से अलग कैसे है?

इस तरह ओरेकल काम करता है। आपका पहला INSERT सही ढंग से किया गया था (यानी एक तालिका में "1" डाला गया)।

फिर आपने एक अनाम PL/SQL ब्लॉक चलाया जो "3", फिर "2" सम्मिलित करता है, और प्राथमिक कुंजी उल्लंघन के कारण "1" डालने का प्रयास करते समय विफल हो जाता है।

यदि उस पीएल/एसक्यूएल ब्लॉक के निष्पादन के दौरान हैंडल न किया गया अपवाद होता है (जो आप कहते हैं कि "ओरेकल अपवाद हैंडलर यहां रोलबैक करता है"), तो ओरेकल पीएल/एसक्यूएल ब्लॉक की शुरुआत में वापस आ जाता है।

जब आप एक्सेप्शन हैंडलर का उपयोग करते हैं और रोलबैक जारी करते हैं, तो यह आप ही तय करते हैं कि अगर कुछ होता है तो क्या करना है, और वह है सभी परिवर्तनों को पिछले COMMIT में वापस करना जो कि क्रिएट टेबल स्टेटमेंट को निष्पादित करने के बाद एक निहित रूप से किया गया COMMIT था, इसलिए INSERT "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. दो क्लस्टरिंग कारकों की एक कहानी

  2. क्या मैं एक्सेल में बाहरी डेटाबेस कनेक्शन के लिए पासवर्ड पास करने के लिए वीबीए का उपयोग कर सकता हूं?

  3. डेटाबेस में एकाधिक तालिकाओं का लेखा परीक्षा इतिहास

  4. X64 में WebDev.WebServer.exe (VS वेब सर्वर) का उपयोग कैसे करें?

  5. Oracle SQL:सिलेक्ट स्टेटमेंट के साथ इन्सर्ट में सीक्वेंस का उपयोग करें