Mam 2 polecenia i potrzebuję, aby oba zostały wykonane poprawnie lub żadne z nich nie zostało wykonane. Myślę więc, że potrzebuję transakcji, ale nie wiem, jak prawidłowo z niej korzystać.
W czym problem z następującym skryptem?
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
Polecenie jest wykonywane, ale UPDATE
komenda ma problem.
Jak mogę to zaimplementować, aby wycofać oba polecenia, jeśli któreś z nich ma błąd w wykonywaniu?
BEGIN TRANSACTION [Tran1]
być umieszczony w środkuTRY
? W każdym razie - bardzo prosty i elegancki fragment kodu.