例如
tbl#Students(id int,name nvarchar(100))
tbl#Teachers(id int,name nvarchar(100))
此代码不正确,但讨论我的目的
declare @b nvarchar(100)
set @b='TBL#Students'
declare @a nvarchar(100)
set @a= 'select * from '+@b
exec @a
//Error : Could not find stored procedure 'select * from TBL#Motamem'.
什么是正确的代码?
答案 0 :(得分:2)
试试这个:
exec(@a);
如果省略括号,sql-server会将@a视为存储过程。
答案 1 :(得分:2)
在exec:
之后添加括号declare @b nvarchar(100)
set @b='alerts'
declare @a nvarchar(100)
set @a= 'select * from '+@b
exec (@a )
答案 2 :(得分:0)
以前答案的替代方案是:
Exec sp_executesql @a