Hatalar ekleme/güncelleştirme sınamanın ve bu işlemi geri alma işleminin doğru yolu nedir? Eklerim/güncellemelerim 3 ayrı deyim olduğundan ve @@ ROWCOUNT yalnızca son ifadeyi yansıtacağından beri ne yapacağımı düşünmüyorum.Bir işlemin birden çok ek veya güncelleştirme etrafında kullanılmasının doğru yolu
BEGIN TRANSACTION Script;
GO
INSERT INTO TableA (id) VALUES (1)
INSERT INTO TableB (id) VALUES (1)
UPDATE TableC SET id=1 WHERE id=2
GO
IF (@@ROWCOUNT=3 AND @@ERROR=0)
BEGIN
COMMIT
END
ELSE
BEGIN
PRINT 'Error: Rolling back transaction'
ROLLBACK TRANSACTION Script
END
GO
Bu hak, bir başarısızlık mesajı yazdırmadan beni sınırlar? –
@JoePhilllips Lütfen güncellenmiş yanıtımı kontrol edin. –
SET XACT_ABORT ON özniteliği, işlem geri döndüğünde bir hata iletisi verir mi? – Raza