我有一个存储过程来选择基于两个表的数据列表。第一张桌子是固定的:CO.Country
。但第二个表可以是多个表中的一个。表本身的名称是相同的:Location
。但是,表的模式不同:ABD.Location, CGA.Location, GBN.Location.
如何将schema作为参数传递给sql server中的存储过程?
用户将从应用程序中选择模式,然后选择的模式将作为参数传递给存储过程。
但是在创建存储过程时解析存在错误。
有无论如何传递模式名称作为参数吗?
我有一个存储过程来选择基于两个表的数据列表。第一张桌子是固定的:CO.Country
。但第二个表可以是多个表中的一个。表本身的名称是相同的:Location
。但是,表的模式不同:ABD.Location, CGA.Location, GBN.Location.
如何将schema作为参数传递给sql server中的存储过程?
用户将从应用程序中选择模式,然后选择的模式将作为参数传递给存储过程。
但是在创建存储过程时解析存在错误。
有无论如何传递模式名称作为参数吗?
尝试这样
CREATE PROCEDURE proc_name
@schema VARCHAR(25)
AS
DECLARE @Query VARCHAR(1000)
SET @query='SELECT * FROM' [email protected] +'.Location'
EXECUTE(@query)
这个技巧。我试过使用标准存储过程查询:select * from @ schema.Location。甚至不能执行。非常感谢。 – user2621831
欢迎:) – Nithesh
如果有必要对我有正常的查询(没有DynamicSql)是否可以在这种查询中将模式作为变量传递? – Misi
显示您的存储过程。你尝试了什么? – slavoo