if exists (select * from sysobjects where id = object_id('Ims_sy_GetNextPrevID') and sysstat & 0xf = 4) drop procedure Ims_sy_GetNextPrevID go Create Procedure Ims_sy_GetNextPrevID @Table varchar(50), @ReqID int as BEGIN declare @NewId int, @SqlCmd varchar(300), @cReqID varchar(10) set @cReqID = ltrim(rtrim(STR(@ReqID, 12, 0))) set @NewId = -1 set @SqlCmd ='select top 1 @NewId=' + @Table+'id into #TempFL from '+@Table +' where '+@Table+'id > ' + @cReqID exec (@SqlCmd) Print @NewId set @NewId = isnull(@NewId,0) if @NewId = 0 begin select top 1 @NewId=repflid from repfl where repflid < @ReqID order by repflid desc end select @NewId END go dbo.Ims_sy_GetNextPrevID 'Repfl',103