में नेस्टेड लेनदेन हाय, टीएसक्यूएल में नेस्टेड लेनदेन की मेरी वर्तमान समझ यह है कि यदि आपके पास एकाधिक लेनदेन (एक "बाहरी" लेनदेन के अंदर घनिष्ठ लेनदेन) हैं, तो सभी ट्रान्सएक्शन को "बाहरी" लेनदेन के साथ किया जाना चाहिए आखिरी होने के नाते) डेटाबेस में किए गए किसी भी बदलाव के लिए। यदि प्रतिबद्धता की संख्या खुले लेनदेन की संख्या से कम है तो किसी भी लेनदेन से संबंधित कोई भी परिवर्तन नहीं किया जाता है। क्या यह एक सही अवलोकन है कि नेस्टेड लेनदेन कैसे काम करते हैं?टीएसक्यूएल
उत्तर
COMMIT
का आपका विवरण सही है।
Kalen Delaney has an article covering the same type of behavior that you describe.
लेकिन, जैसा कि Kalen के लेख में चर्चा, एक नेस्टेड लेन-देन के भीतर एक ROLLBACK
पूरे बाहरी लेन-देन ही नहीं, भीतर की लेन-देन जहां रोलबैक होता है रोलबैक होगा।
नोट निम्न परिणाम:
BEGIN TRAN
SELECT @@trancount
BEGIN TRAN
SELECT @@trancount
BEGIN TRAN
SELECT @@trancount
ROLLBACK TRAN
SELECT @@trancount
इस MSDN आलेख में वर्णित किया गया है, Nesting Transactions:
एक रोलबैक काम या एक रोलबैक लेन-देन में बयान नहीं है कि एक सौदे नाम वापस रोल सभी नेस्टेड लेन-देन और कमी @@ ट्रांस्काउंट 0। रोलबैक ट्रांज़ेक्शन जो लेनदेन नेस्टेड लेनदेन के सेट में बाहरी लेनदेन का नामका उपयोग करता हैसभी घोंसले लेनदेन और कमी @@ TRANCOUNT से 0 तक वापस रोल करता है। यदि आप पहले से ही लेनदेन में हैं, तो आप अनिश्चित हैं, तो @@ TRANCOUNT निर्धारित करें कि यह 1 या उससे अधिक है या नहीं। यदि @@ TRANCOUNT 0 है, तो आप लेन-देन में नहीं हैं।
संक्षेप में, आपका उत्तर हाँ है। Nesting Transactions से:
आंतरिक लेनदेन को कम करना SQL सर्वर डेटाबेस इंजन द्वारा अनदेखा किया जाता है। लेनदेन को या तो बाहरी या लेनदेन के अंत में की गई कार्रवाई पर आधारित या घुमाया गया है। यदि बाहरी लेनदेन किया जाता है, तो आंतरिक घोंसले लेनदेन भी प्रतिबद्ध हैं। यदि बाहरी लेनदेन वापस लुढ़का जाता है, तो आंतरिक लेनदेन व्यक्तिगत रूप से प्रतिबद्ध किए जाने के बावजूद सभी आंतरिक लेन-देन भी वापस लुढ़क दिए जाते हैं।
रोलबैक के संबंध में, केवल पूरे बाहरी लेनदेन को रोलबैक करने की अनुमति है।
- 1. टीएसक्यूएल
- 2. टीएसक्यूएल
- 3. टीएसक्यूएल:
- 4. टीएसक्यूएल
- 5. टीएसक्यूएल
- 6. टीएसक्यूएल
- 7. टीएसक्यूएल:
- 8. टीएसक्यूएल
- 9. टीएसक्यूएल
- 10. टीएसक्यूएल - एक यूनियन क्वेरी
- 11. टीएसक्यूएल - केस - मूल्यों में?
- 12. टीएसक्यूएल वर्तमान महीने/वर्ष
- 13. टीएसक्यूएल गतिशील एसक्यूएल
- 14. टीएसक्यूएल - एक लेनदेन कथन
- 15. टीएसक्यूएल ट्रिगर को चुपचाप
- 16. टीएसक्यूएल दौर() असंगतता?
- 17. एसक्यूएलसीपी परीक्षण टीएसक्यूएल
- 18. टीएसक्यूएल कर्सर परिभाषा बदलें
- 19. टीएसक्यूएल को एमएस-एक्सेस एसक्यूएल
- 20. टीएसक्यूएल डेटटाइम टू डेटकी इंट
- 21. डाटाबेस के लिए टीएसक्यूएल डाटाबेस
- 22. टीएसक्यूएल स्क्रिप्ट चेक अक्षम करें?
- 23. लेनदेन के अंदर टीएसक्यूएल लॉगिंग
- 24. टीएसक्यूएल पिछली तारीख के रिकॉर्ड
- 25. टीएसक्यूएल डिफ़ॉल्ट न्यूनतम दिनांक समय
- 26. टीएसक्यूएल - कई कॉलम पर ISNULL
- 27. टीएसक्यूएल ट्रिगर में अपडेट फ़ंक्शन
- 28. टीएसक्यूएल में "%% डेटाबेसएक्स" क्या करता है?
- 29. टीएसक्यूएल: क्वेरी के बीच तिथि - समय
- 30. टीएसक्यूएल "ब्राउज के लिए" विकल्प क्या है?