2012-06-09 16 views
11

मैंने कभी नहीं समझा है कि नेस्टेड लेनदेन क्या अच्छा है। नेस्टेड लेनदेन करना कुछ भी नहीं करता है - यह @@TRANCOUNT घटता है। और ROLLBACK सब कुछ रोलबैक।नेस्टेड लेनदेन का उद्देश्य

BEGIN TRANSACTION 
    //do an update 
    BEGIN TRANSACTION 
    //do an insert 
    COMMIT TRANSACTION 
COMMIT TRANSACTION 

क्या इस के साथ अंतर नहीं है:

BEGIN TRANSACTION 
    //do an update 
    //do an insert 
COMMIT TRANSACTION 

मुझे एक उदाहरण देता हूँ कृपया क्यों नेस्टेड लेनदेन इस्तेमाल किया जाना चाहिए और कैसे वे एक फर्क।

सादर, Petar

उत्तर

8

नेस्टेड लेनदेन अपने कोड जो वास्तव में अपने लेनदेन जब वे प्रतिबद्ध करने के बिना लेन-देन ही उपयोग करता है अन्य कोड (उदाहरण के लिए एसपीएस) कॉल करने के लिए अनुमति देता है।

उसने कहा, आप एक लेनदेन के अंदर वापस रोल करने के लिए सुरक्षित बिंदुओं का उपयोग कर सकते हैं।

उस पर समर्पित CodeProject article है।

+0

मैं नेस्टेड लेनदेन के बिना सुरक्षित बिंदुओं का उपयोग कर सकता हूं। संग्रहीत प्रक्रिया एक अच्छी बात है (मैंने कभी इसके बारे में सोचा नहीं है)। लेकिन अगर मैं अपने लेनदेन में संग्रहीत प्रक्रिया का उपयोग नहीं करता (या अन्य कोड नहीं कहता), तो मुझे नेस्टेड लेनदेन की आवश्यकता क्यों होनी चाहिए? मैं लगातार नेस्टेड लेनदेन के साथ उदाहरण देखता हूं और मुझे उनका बिंदु नहीं दिखता है। –

+0

तो बाहरी लेनदेन कोड को कॉल करते समय केवल घोंसला लेनदेन उपयोगी होते हैं? –

+1

मैं आपके साथ सहमत हूं और मुझे लगता है कि वे बाहरी लेनदेन कोड को कॉल करने के लिए उपयोगी हैं। नेस्टेड लेनदेन को संभालने के लिए SQL सर्वर की तकनीकी क्षमता महत्वपूर्ण है और सभी डीबी सिस्टम में उपलब्ध नहीं है। कुछ मामले हैं (जैसे कि उल्लिखित एसपी के साथ - जहां आपको ['SET XACT_ABORT ON'] का भी उपयोग करना चाहिए (http://stackoverflow.com/questions/1150032/what-is-the-benefit-of-using-set -xact-abort-on-in-a-store-process)) जहां वे "स्वाभाविक रूप से घोंसला" कर सकते हैं। मैंने कभी भी स्पष्ट नेस्टेड लेनदेन का उपयोग नहीं किया। – Lucero

0

यदि आपके पास परिदृश्य है जिसमें आप एक एसपी कहते हैं जिसमें इसमें एक अन्य एसपी कॉल शामिल है। और वह आंतरिक एसपी भी आपके आवेदन से स्वतंत्र रूप से बुलाया जा सकता है। उस स्थिति में आंतरिक लेनदेन (आंतरिक एसपी पर) के साथ-साथ मूल एसपी पर भी आवश्यक होना आवश्यक है।

संबंधित मुद्दे