我有一個存儲過程來選擇基於兩個表的數據列表。第一張桌子是固定的: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