SQLServer中表名想用输入的参数该怎么搞
CREATE PROCEDURE procGetCurNo
(
@tblName varchar(256),
@curid0int OUTPUT
)
AS
BEGIN TRANSACTION
select @curid0 = max(id0) + 1 from @tblName
COMMIT TRANSACTION
GO
我是这样写脚本的,但是不行,请高手指教下
[解决办法]
CREATE PROCEDURE procGetCurNo ( @tblName VARCHAR(256) , @curid0 INT OUTPUT )AS declare @sql nvarchar(4000)set @sql=N'select @curid0=max(id0) + 1 from '+convert(nvarchar(256),@tblName)exec sp_executesql @sql,'@curid0 int output',@curid0
[解决办法]
CREATE PROCEDURE procGetCurNo ( @tblName VARCHAR(256) , @curid0 INT OUTPUT )AS declare @sql nvarchar(4000)set @sql=N'select @curid0=max(id0) + 1 from '+convert(nvarchar(256),@tblName)exec sp_executesql @sql,'@curid0 int output',@curid0--楼主的意思,应该还要返回这个出参值