SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON go ALTER PROCEDURE [dbo].[Nextcode] @myTable varchar(50), @myColumn varchar(50) AS SET NOCOUNT ON DECLARE @return_val int, @sqlcmd nvarchar(100) BEGIN TRAN t1 SET @sqlcmd = 'update ' + @myTable + ' set ' + @myColumn + ' = ' + @myColumn + ' + 1' EXEC sp_executesql @sqlcmd SET @sqlcmd = 'select ' + @myColumn + ' as myID from ' + @myTable EXEC sp_executesql @sqlcmd, N'@return_val int output', @return_val output if @@ERROR > 0 BEGIN ROLLBACK TRAN t1 SET @return_val = -1 RETURN @return_val END ELSE BEGIN COMMIT TRAN t1 RETURN @return_val ENDThanks in advance