我有以下存储过程:
create procedure testProc
declare @databaseId varchar(5)
as
begin
select columnA
from @databaseId.dbo.tableA;
end
有没有办法在不将所有内容都转换为动态SQL的情况下执行此操作?
答案 0 :(得分:0)
在此存储过程中传递表名称。它应该返回传递表的所有列。
create procedure testProc
@databaseId varchar(100)
as
begin
Declare @query varchar(500)
set @query ='select * from'+ @databaseId;
EXECUTE(@query)
end
答案 1 :(得分:0)
答案是否
无法通过查询中的变量分配数据库名称,模式名称,表名称和列名称。