【问题标题】:Must pass parameter number 4 and subsequent parameter as '@name =value'必须将参数号 4 和后续参数作为 '@name =value' 传递
【发布时间】:2014-06-27 07:48:20
【问题描述】:

我有以下在 SSMS 中完美运行的存储过程。

Create Store Proc MyTT

SELECT 
          MAX(TableName) as TableName,
          aco_code,acc_code,
          ctr_id,cte_id,usr_code,
         -- convert(datetime,convert(varchar,current_timestamp,112),112)
          Cast(DATEPART(hour,current_timestamp) as varchar(3))+':'+ CAST(DATEPART(minute,current_timestamp) as varchar(3))as [Time]
          INTO #AB
FROM 
(  
   SELECT 'TM_ACO_Account_Comment'as TableName,
   a.aco_code,
   a.acc_code,
   a.ctr_id,
   a.cte_id,
   a.usr_code
FROM  
       TM_ACO_Account_Comment a with(NOLOCK)
UNION ALL
   SELECT 'TM_ACO_Account_Comment'as TableName,
   b.aco_code,
   b.acc_code,
   b.ctr_id,
   b.cte_id,
   b.usr_code
FROM
      [172.17.14.77].[IS_ND_BLAKE].[dbo].[TM_ACO_Account_Comment] b with(NOLOCK)
)zzz
GROUP BY aco_code,
         acc_code,
         ctr_id,
         cte_id,
         usr_code
HAVING COUNT(*) = 1 
ORDER BY 
       aco_code               
     SELECT * 
        FROM 
            #AB 
        DROP TABLE #AB

但是当我尝试在查询中包含该过程以发送邮件时,我收到以下错误:

必须通过参数号 4

我的邮件查询如下所示。

EXEC msdb.dbo.sp_send_dbmail
    @profile_name = 'DBMail',
    @recipients = 'mitch@domain.com',
    @query = 'exec SP,`MYTT`
    @execute_query_database = 'MYDB',
    @subject = 'Work Order Count',
    @attach_query_result_as_file = 1 ;

【问题讨论】:

    标签: sql parameters out


    【解决方案1】:

    在您的EXEC msdb.dbo.sp_send_dbmail 命令中,您似乎没有正确关闭此行中的字符串文字:

    @query = 'exec SP,`MYTT`
    

    它缺少一个结束 ',以及用于将此参数与下一个参数分开的逗号:

    @query = 'exec SP,`MYTT`',
    

    但是,传递的查询本身看起来有点奇怪。您的存储过程称为MyTT,如果您打算在传递给msdb.dbo.sp_send_dbmail 的查询中调用它,那么您错误地指定了exec 语句。大概应该是这样的:

    @query = 'exec MyTT',
    

    虽然指定数据库和架构也可能是个好主意:

    @query = 'exec YourDBName.YourSchema.MyTT',
    

    我稍微更正了正确的名称以完全匹配您定义中的名称。如果您的服务器的默认排序规则不区分大小写(这很可能),那可能是不必要的,但在此类问题上保持一致不会有任何害处。

    【讨论】:

      猜你喜欢
      • 2021-12-01
      • 2023-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-18
      • 2018-02-28
      • 2015-10-29
      相关资源
      最近更新 更多