If you alter the procedure like the code below, the error message is catched and won't be displayed. If you are on SQL version 2005+ then you have the ability to use a TRY.CATCH block. You posted this question in the SQL 2000 forum, so I don't know if you can use this. I want to continue execution in procedure, but when rollback occur in trigger, the procedure p1 ended. Msg 3609, Level 16, State 1, Procedure p1, Line 28 VALUES ( FROM WHERE ID = TRANSACTION User_Tran WHILE EXISTS (SELECT 1 FROM TRAN User_Tran DECLARE TABLE (ID INT, NAME NVARCHAR(100))