我无法执行存储过程。它抛出一个错误执行存储过程期间无效的列名错误
无效的列名称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