Sql server 2005 用于多个表的存储过程 我想为具有类似格式的表编写一个存储过程
比如说Sql server 2005 用于多个表的存储过程 我想为具有类似格式的表编写一个存储过程,sql-server-2005,stored-procedures,Sql Server 2005,Stored Procedures,比如说 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
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'.
正确的代码是什么?试试这个:
exec(@a);
如果省略括号,SQLServer将把@作为存储过程。< /P> < P>
declare @b nvarchar(100)
set @b='alerts'
declare @a nvarchar(100)
set @a= 'select * from '+@b
exec (@a )
替代先前答案的另一种方法是:
Exec sp_executesql @a