如何将schema作为参数传递给sql server中的存储过程?

时间:2013-08-26 04:54:54

标签: sql sql-server stored-procedures parameters schema

我有一个存储过程来根据两个表选择数据列表。第一个表是固定的:CO.Country。但第二个表可以是许多表中的一个。表本身的名称是相同的:Location。但是,表格的架构是不同的:ABD.Location, CGA.Location, GBN.Location.

用户将从应用程序中选择架构,然后所选的架构将作为参数传递给存储过程。

但是在创建存储过程时解析存储过程时会出错。

无论如何都要将模式名称作为参数传递?

1 个答案:

答案 0 :(得分:2)

使用DynamicSql

试试这个

CREATE PROCEDURE proc_name
   @schema VARCHAR(25)
AS

DECLARE @Query VARCHAR(1000)
SET @query='SELECT * FROM' +@schema +'.Location'
EXECUTE(@query)