ฉันมี 2 คำสั่งและต้องการทั้งสองอย่างดำเนินการอย่างถูกต้องหรือไม่มีพวกเขาดำเนินการ ดังนั้นฉันคิดว่าฉันต้องการธุรกรรม แต่ฉันไม่รู้วิธีใช้อย่างถูกต้อง
ปัญหาของสคริปต์ต่อไปนี้คืออะไร
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
คำสั่งที่มีปัญหา
ฉันจะใช้สิ่งนี้เพื่อย้อนกลับทั้งสองคำสั่งหากมีข้อผิดพลาดในการดำเนินการ?
BEGIN TRANSACTION [Tran1]
วางไว้ข้างในTRY
? อย่างไรก็ตาม - โค้ดที่เรียบง่ายและสง่างาม