• The behavior is the same with a stored proc

    CREATE TABLE test (ID INT NOT NULL, Val INT);

    GO

    INSERT INTO test VALUES (1,1), (2,2), (3,3);

    GO

    CREATE PROCEDURE trg_test_upd

    AS

    UPDATE test SET val = 3 WHERE id = 1

    RAISERROR('Error', 16, 1);

    GO

    SELECT * FROM test

    BEGIN TRAN

    EXEC trg_test_upd

    COMMIT TRAN

    SELECT * FROM test

    The SQL Guy @ blogspot[/url]

    @SeanPearceSQL

    About Me[/url]