Parameters 具有多个输出参数的tsqlt spyProcedure

Parameters 具有多个输出参数的tsqlt spyProcedure,parameters,output,tsqlt,Parameters,Output,Tsqlt,关于我的问题,有一篇相关的帖子是关于一个输出参数的,但我找不到一种方法将其应用到我的过程中,因为我的过程有多个输出参数 我想介绍的程序概述如下: ALTER PROCEDURE [dbo].[wms_whse_check_serialNumber] @Command Json , @operWarningMessage_notExists exception OUTPUT , @operWarningMessage_notInInventory exception OUTPUT <..

关于我的问题,有一篇相关的帖子是关于一个输出参数的,但我找不到一种方法将其应用到我的过程中,因为我的过程有多个输出参数

我想介绍的程序概述如下:

ALTER PROCEDURE [dbo].[wms_whse_check_serialNumber]
  @Command Json
, @operWarningMessage_notExists exception OUTPUT
, @operWarningMessage_notInInventory exception OUTPUT
<...>
但是,我想指定这两个输出参数。如果我尝试:

EXEC tSQLt.SpyProcedure @ProcedureName = N'dbo.wms_whse_check_serialNumber', 
  @CommandToExecute = N'SET @operWarningMessage_notExists = NULL, @operWarningMessage_notInInventory = NULL;';
我得到:
(错误)靠近“,”[15,1]{wms\u whse\u check\u serialNumber,1}的语法不正确


我已经对它做了很多修改,并且不能想出一个能够成功的语法。我错过了什么?谢谢

设置
替换为
选择
,如所示:

     EXEC tSQLt.SpyProcedure @ProcedureName = N'dbo.wms_whse_check_serialNumber', 
       @CommandToExecute = N'SELECT @operWarningMessage_notExists = NULL, @operWarningMessage_notInInventory = NULL;';
说明

SET
命令一次只能设置一个变量。您可以使用多个
SET
语句,或者如上所示,使用
SELECT
一次分配多个变量

旁注

没有什么可以阻止您在上面的
@CommandToExecute
参数中使用多个语句,因此这也是一个有效的解决方案:

     EXEC tSQLt.SpyProcedure @ProcedureName = N'dbo.wms_whse_check_serialNumber', 
       @CommandToExecute = N'SET @operWarningMessage_notExists = NULL; SET @operWarningMessage_notInInventory = NULL;';

谢谢你,塞巴斯蒂安!非常感谢tsqlt和您对它的支持!
     EXEC tSQLt.SpyProcedure @ProcedureName = N'dbo.wms_whse_check_serialNumber', 
       @CommandToExecute = N'SET @operWarningMessage_notExists = NULL; SET @operWarningMessage_notInInventory = NULL;';