create proc p_anme(@Tname varchar(50),@Fname varchar(50),@rtn varchar(50) output) as declare @str varchar(100) set @str='select '+@rtn+'=max('+@Fname+') from '+@Tname' go
create proc p_anme(@Tname varchar(50),@Fname varchar(50),@rtn varchar(50) output) as declare @str varchar(100) set @str='select '+@rtn+'=max('+@Fname+') from '+@Tname' exec (@str) go
create proc p_getbh @tbname sysname, --要求编号的表名 @fdname sysname --编号字段 as declare @re varchar(30) declare @sql nvarchar(1000) set @sql='select @re=max('+@fdname+') from '+@tbname exec sp_executesql @sql,N'@re varchar(30) out',@re out if @re is null set @re='1' else set @re=cast(cast(@re as int)+1 as varchar) return(@re) go --调用 declare @newbh varchar(30) exec @newbh=p_getbh '表名','主键字段名' select 最新编号=@newbh
as
declare @str varchar(100)
set @str='select '+@rtn+'=max('+@Fname+') from '+@Tname'
go
as
declare @str varchar(100)
set @str='select '+@rtn+'=max('+@Fname+') from '+@Tname'
exec (@str)
go
@tbname sysname, --要求编号的表名
@fdname sysname --编号字段
as
declare @re varchar(30)
declare @sql nvarchar(1000)
set @sql='select @re=max('+@fdname+') from '+@tbname
exec sp_executesql @sql,N'@re varchar(30) out',@re out
if @re is null
set @re='1'
else
set @re=cast(cast(@re as int)+1 as varchar)
return(@re)
go
--调用
declare @newbh varchar(30)
exec @newbh=p_getbh '表名','主键字段名'
select 最新编号=@newbh