में रोलबैक/कमिट का उपयोग कैसे करें मैं पहली बार ओरेकल एसक्यूएल में लेनदेन कार्यक्षमता का उपयोग करने की कोशिश कर रहा हूं और एक अच्छा स्पष्टीकरण नहीं लग रहा है। मैं समझता हूं कि एक नया सत्र शुरू करने से एक नया लेनदेन शुरू हो जाएगा। मैं यह भी समझता हूं कि इसे समाप्त करने के लिए प्रतिबद्ध/रोलबैक का उपयोग किया जाता है। जो मैं करने की कोशिश कर रहा हूं वह दो बयानों को निष्पादित करता है और यदि मैं उनमें से कोई भी असफल रहता हूं, तो उनके द्वारा किए गए किसी भी बदलाव को पूर्ववत करें और निष्पादन के साथ जारी रखें। मैं इस शर्त की जांच कैसे कर सकता हूं और तदनुसार प्रतिबद्ध या रोलबैक जारी कर सकता हूं?ओरेकल एसक्यूएल
6
A
उत्तर
15
एक PL/SQL ब्लॉक का उपयोग करें और कुछ इस तरह लिखना:
begin
statement_zero;
savepoint my_savepoint;
begin
-- if either of these fail, then exception section will be executed
statement_one;
statement_two;
exception
when others then
rollback to my_savepoint;
end;
statement_three;
commit;
end;
भी देखें http://www.adp-gmbh.ch/ora/concepts/transaction.html
2
एक अच्छा exaplample ObiWanKenobi provded ओरेकल लेनदेन की एक विस्तृत विवरण ओरेकल के Chapter 4 में पाया जा सकता के साथ साथ अवधारणा गाइड (जो लिंक मैंने प्रदान किया है वह 10.2 के लिए जाता है, आप ओरेकल वेबसाइट पर भी अपने संस्करण के लिए उपयुक्त दस्तावेज़ ढूंढ सकते हैं)। मेरा सुझाव है कि आप इस अध्याय को यह समझने के लिए पढ़ते हैं कि ओरेकल लेनदेन प्रबंधन को कैसे प्रबंधित करता है, और ओककल डीबी कैसे काम करता है, इस बारे में अवांछित जानकारी के लिए दस्तावेज़ पूरी तरह से जानकारी का एक अच्छा टुकड़ा है।
संबंधित मुद्दे
- 1. ओरेकल एसक्यूएल बनाम ओरेकल पीएल/एसक्यूएल
- 2. ओरेकल एसक्यूएल
- 3. ओरेकल एसक्यूएल
- 4. ओरेकल एसक्यूएल
- 5. एसक्यूएल सर्वर से ओरेकल
- 6. मैं ओरेकल एसक्यूएल
- 7. ओरेकल एसक्यूएल सर्वर DATEPART
- 8. बूल समर्थन ओरेकल एसक्यूएल
- 9. ओरेकल एसक्यूएल: नेस्टेड टेबल
- 10. एसक्यूएल प्लस ओरेकल 11gr1
- 11. ओरेकल एसक्यूएल क्वेरी लॉगिंग
- 12. मैं ओरेकल एसक्यूएल कथन
- 13. मैक्स (DATE) - एसक्यूएल ओरेकल
- 14. ओरेकल एसक्यूएल * प्लस
- 15. ओरेकल पीएल/एसक्यूएल
- 16. ओरेकल एसक्यूएल डेवलपर
- 17. ओरेकल एसक्यूएल डेवलपर
- 18. ओरेकल एसक्यूएल अलग
- 19. ओरेकल पीएल/एसक्यूएल
- 20. ओरेकल एसक्यूएल: आईएन क्लॉज
- 21. ओरेकल एसक्यूएल 0 (शून्य)
- 22. ओरेकल एसक्यूएल डेवलपर
- 23. ओरेकल, पोस्टग्रेस और एसक्यूएल सर्वर
- 24. ओरेकल एसक्यूएल एनएच तत्व regexp
- 25. ओरेकल एसक्यूएल डेवलपर रंग कोडिंग
- 26. सरल ओरेकल चर एसक्यूएल असाइनमेंट
- 27. ओरेकल पीएल/एसक्यूएल UTL_FILE.PUT बफरिंग
- 28. एसक्यूएल सर्वर और ओरेकल 'उपयोगकर्ता'
- 29. ओरेकल 10 जी पीएल/एसक्यूएल
- 30. ओरेकल पीएल/एसक्यूएल: एक स्ट्रिंग
आह ठीक है, धन्यवाद, कुछ और ब्लॉक में देखकर मैंने एक और मुद्दा खोजा जो मैं करने की कोशिश कर रहा हूं। मैं एक तालिका में एक कॉलम जोड़ने की कोशिश कर रहा हूं, सभी मौजूदा प्रविष्टियों के डिफ़ॉल्ट मान सेट करता हूं और आवश्यकतानुसार इस मान को अपडेट करने के लिए ट्रिगर सेट करता हूं। ब्लॉक केवल चयन, इन्सर्ट, अद्यतन, हटा दें। लेनदेन में इसे लपेटने के लिए कोई विचार? – dpsthree
डीडीएल स्टेटमेंट्स (क्रिएट, एल्टर, डीआरओपी, इत्यादि) निष्पादन से पहले और बाद में पूरी तरह से COMMIT। तो जिन कार्यों का आप उल्लेख कर रहे हैं उन्हें एक ही लेनदेन में नहीं किया जा सकता है, और वापस लुढ़का नहीं जा सकता है। –
आप, वैसे, डीएलएल स्टेटमेंट को पीएल/एसक्यूएल ब्लॉक के भीतर गतिशील एसक्यूएल का उपयोग करके निष्पादित कर सकते हैं, उदा। 'तत्काल तत्काल' वैकल्पिक तालिका foo x NUMBER 'जोड़ें। लेकिन यह इस तथ्य को नहीं बदलेगा कि डीडीएल स्टेटमेंट डाटा डिक्शनरी को अपडेट करने से पहले और बाद में एक COMMIT करता है। –