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

ओरेकल में नेस्टेड लेनदेन का उपयोग करना

Oracle नेस्टेड लेनदेन का समर्थन नहीं करता है। यदि कोई लेनदेन करता है, तो वह प्रतिबद्ध होता है। इसलिए आप आम तौर पर एक संग्रहीत कार्यविधि में लेन-देन (या रोलबैक) नहीं करना चाहते हैं, जिससे आपके लेन-देन शब्दार्थ भिन्न होने पर प्रक्रिया को कहीं और पुन:उपयोग करना मुश्किल हो जाता है।

हालाँकि, आप अपनी प्रक्रिया की शुरुआत में एक सेवपॉइंट घोषित कर सकते हैं और किसी त्रुटि के मामले में उस सेवपॉइंट पर रोलबैक कर सकते हैं। यदि आप कमिट को हटाते हैं, तो लेन-देन पूरी तरह से एप्लिकेशन कोड द्वारा नियंत्रित होता है न कि डेटाबेस कोड द्वारा

begin
  savepoint beginning_of_proc;

  insert/update/delete...

exception 
  when OTHERS then 
    rollback to beginning_of_proc;
    raise;
end;

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



  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. Oracle में दूसरा सबसे न्यूनतम मान चुनें

  3. Oracle में REGEXP_REPLACE () फ़ंक्शन

  4. Windows 10 Professional पर Oracle 12c मानक संस्करण स्थापित करना

  5. एसक्यूएल इन क्लॉज 1000 आइटम सीमा