我無法執行存儲過程。它拋出一個錯誤執行存儲過程期間無效的列名錯誤
無效的列名稱DW201401「
命令來執行存儲過程:
exec RM_UTIL_MODE server,'DW201401'
存儲過程的代碼:
ALTER Procedure [dbo].[RM_UTIL_MODE]
@ServerName varchar(50),
@Value varchar(50)
As
Begin
declare @query nvarchar(max)
set @query = N'SELECT mode FROM ' + @ServerName +
N'.master.dbo.sysdatabases WHERE name =' + @Value
exec sp_executesql @query
End
但當我試圖單獨運行查詢時,它會給出結果。
select mode, name
from server.master.dbo.sysdatabases
where name = 'DW201401'
我也會寫'QUOTENAME(@ServerName)'而不是'@ ServerName' – 2014-09-01 14:25:16
你能告訴我如何在傳遞多個參數的情況下使用下面的exec行。而不是價值,我需要通過value1,value2,value3 ... – user3859666 2014-09-02 05:52:20