SQLServer中表名想用输入的参数该如何搞
SQLServer中表名想用输入的参数该怎么搞
CREATE PROCEDURE procGetCurNo
(
@tblName varchar(256),
@curid0 int OUTPUT
)
AS
BEGIN TRANSACTION
select @curid0 = max(id0) + 1 from @tblName
COMMIT TRANSACTION
GO
我是这样写脚本的,但是不行,请高手指教下
------解决方案--------------------
CREATE PROCEDURE procGetCurNo
(
@tblName varchar(256),
@curid0 int OUTPUT
)
AS
BEGIN TRANSACTION
select @curid0 = max(id0) + 1 from @tblName
COMMIT TRANSACTION
GO
我是这样写脚本的,但是不行,请高手指教下
------解决方案--------------------
- SQL code
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
------解决方案--------------------
- SQL code
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 --楼主的意思,应该还要返回这个出参值