有两个表,结构一样,如下:
tb_1 and tb_2
ID int
NAME varchar(10)
我现在想写一个存储过程,输入一个表名(tb_1 或 tb_2) 返回表中最大ID,
请问大家我如何写才能实现功能。
我试过这样不行,老说@ID没有定义
Create Procedure GetMaxID
@TableName, @ID output
as
EXEC('select @ID = max(ID) from '+@TableName)
go
---------------------------------------------------------------
Create Procedure GetMaxID
@TableName, @ID output
as
begin
declare @sql nvarchar(1000)
set @sql='select @ID = max(ID) from '+@TableName
exec sp_executesql @sql,N'@id int output',@id output
end