Каков правильный способ проверки на наличие сбоев вставки/обновления и откат этой транзакции, если они есть? Я не думаю, что то, что у меня будет, будет работать, так как мои вставки/обновления - это 3 отдельных оператора, а @@ROWCOUNT будет отражать только последний выполненный оператор.
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