CREATE PROCEDURE InsertIntoTable3 @Description as varchar(8000) = '' AS BEGIN DECLARE @lcCode1 AS char(5) DECLARE @lcCode2 AS char(5) DECLARE @lnError AS int BEGIN TRANSACTION UPDATE TABLE1 SET @lcCode1 = Code1 = CAST(CAST(Code1 as int)+1 as char(5)) @lnError = @@ERROR IF @lnError = 0 BEGIN UPDATE TABLE2 SET @lcCode2 = Code2 = CAST(CAST(Code2 as int)+1 as char(5)) @lnError = @@ERROR IF @lnError = 0 BEGIN INSERT INTO Table3 VALUES (@lcCode1, @lcCode2, @Description) @lnError = @@ERROR END END IF @lnError = 0 COMMIT ELSE ROLLBACK END(not tested)