有没有办法将数据库传入存储过程?

时间:2015-06-19 05:37:12

标签: sql sql-server

我有以下存储过程:

create procedure testProc
   declare @databaseId varchar(5)
as
begin
    select columnA 
    from @databaseId.dbo.tableA;
end

有没有办法在不将所有内容都转换为动态SQL的情况下执行此操作?

2 个答案:

答案 0 :(得分:0)

在此存储过程中传递表名称。它应该返回传递表的所有列。

create procedure testProc
   @databaseId varchar(100)
as
begin
   Declare @query varchar(500)
   set @query ='select * from'+ @databaseId;
   EXECUTE(@query)
end

答案 1 :(得分:0)

答案是

无法通过查询中的变量分配数据库名称,模式名称,表名称和列名称。