में लेनदेन का सही उपयोग मेरे पास 2 कमांड हैं और इन दोनों को सही तरीके से निष्पादित करने की आवश्यकता है या उनमें से कोई भी निष्पादित नहीं है। तो मुझे लगता है कि मुझे एक लेनदेन की आवश्यकता है, लेकिन मुझे नहीं पता कि इसका सही तरीके से उपयोग कैसे किया जाए।एसक्यूएल सर्वर 2008
निम्न स्क्रिप्ट के साथ समस्या क्या है?
BEGIN TRANSACTION [Tran1]
INSERT INTO [Test].[dbo].[T1]
([Title], [AVG])
VALUES ('Tidd130', 130), ('Tidd230', 230)
UPDATE [Test].[dbo].[T1]
SET [Title] = N'az2' ,[AVG] = 1
WHERE [dbo].[T1].[Title] = N'az'
COMMIT TRANSACTION [Tran1]
GO
insert
आदेश निष्पादित लेकिन update
आदेश एक समस्या है। यदि मैं उनमें से किसी को निष्पादन में कोई त्रुटि है तो मैं दोनों आदेशों को रोलबैक करने के लिए इसे कैसे कार्यान्वित कर सकता हूं? अगर लेन-देन में विफल रहता है
यह एक अधिक उचित जवाब है। –
अच्छा जवाब। जैसा लिखा है, यह त्रुटि संदेश को दबा देगा। इसे प्रदर्शित करने के लिए रोलबैक के बाद 'प्रिंट ERROR_MESSAGE()' जोड़ें। – atheaos
'ट्रांज़ेक्शन [Tran1] '' TRY1' के अंदर नहीं रखा जाना चाहिए? वैसे भी - कोड का बहुत सरल और सुरुचिपूर्ण टुकड़ा। –