करने के लिए सबसे आसान तरीका है बात रैप करने के लिए है में लेनदेन में आपका कोड, और फिर लाइन द्वारा टी-एसक्यूएल कोड लाइन के प्रत्येक बैच को निष्पादित करें।
उदाहरण के लिए
,
Begin Transaction
-Do some T-SQL queries here.
Rollback transaction -- OR commit transaction
आप से निपटने आप एक का प्रयास करें ... कैच ब्लॉक का उपयोग करके ऐसा कर सकते हैं त्रुटि को शामिल करना चाहते हैं। यदि कोई त्रुटि हो तो आप पकड़ ब्लॉक के भीतर ट्रांज़ेक्शन रोलबैक कर सकते हैं।
उदाहरण के लिए:
USE AdventureWorks;
GO
BEGIN TRANSACTION;
BEGIN TRY
-- Generate a constraint violation error.
DELETE FROM Production.Product
WHERE ProductID = 980;
END TRY
BEGIN CATCH
SELECT
ERROR_NUMBER() AS ErrorNumber
,ERROR_SEVERITY() AS ErrorSeverity
,ERROR_STATE() AS ErrorState
,ERROR_PROCEDURE() AS ErrorProcedure
,ERROR_LINE() AS ErrorLine
,ERROR_MESSAGE() AS ErrorMessage;
IF @@TRANCOUNT > 0
ROLLBACK TRANSACTION;
END CATCH;
IF @@TRANCOUNT > 0
COMMIT TRANSACTION;
GO
अधिक जानकारी के लिए निम्नलिखित लिंक देखें।
http://msdn.microsoft.com/en-us/library/ms175976.aspx
आशा इस लेकिन अगर आप अधिक जानकारी की आवश्यकता तो कृपया मुझे बताएं मदद करता है।
स्रोत
2009-02-03 10:27:43
हाय, धन्यवाद। मैंने पहली बार @@ TRANCOUNT के बारे में देखा और क्या आप मुझे बता सकते हैं कि रोलबैक प्रोसेसिंग के बाद "IF @@ TRANCOUNT> 0 COMMIT TRANSACTION" क्या होता है? और @@ TRANCOUNT का क्या मूल्य है? एक बार फिर धन्यवाद। – QMaster
रोलबैक ट्रांज़ेक्शन @@ ट्रांज़ेक्शन को उत्तेजित करने के बाद 0 पर वापस सेट किया गया है। इसके द्वारा COMMIT ट्रांज़ेक्शन निष्पादित नहीं किया जाएगा। https://msdn.microsoft.com/de-de/library/ms187967.aspx देखें –