Sql server 在调用T-SQL脚本中捕获存储过程输出的值

Sql server 在调用T-SQL脚本中捕获存储过程输出的值,sql-server,tsql,stored-procedures,Sql Server,Tsql,Stored Procedures,我正在数据库项目中构建单元测试。我有一个正在为其构建测试的存储过程,该存储过程用于SSIS包中的脚本任务。结果集映射到其中一个包变量 我不确定如何在我的单元测试脚本中找到这个变量结果 这是存储过程。这是我要捕获的AppInstanceID: Create Procedure [log].LogStartOfApplication @ApplicationName varchar(255) As declare @ErrMsg varchar(255) declare @AppID i

我正在数据库项目中构建单元测试。我有一个正在为其构建测试的存储过程,该存储过程用于SSIS包中的脚本任务。结果集映射到其中一个包变量

我不确定如何在我的单元测试脚本中找到这个变量结果

这是存储过程。这是我要捕获的
AppInstanceID

Create Procedure [log].LogStartOfApplication
    @ApplicationName varchar(255)
As
 declare @ErrMsg varchar(255)
 declare @AppID int = (Select ApplicationID From cfg.Applications Where ApplicationName = @ApplicationName)

If (@AppID Is Null)
    begin
        set @ErrMsg = 'Cannot find ApplicationName ' + Coalesce(@ApplicationName, '<NULL>')
        raiserror(@ErrMsg,16,1)
        return-1
    end

Insert Into [log].SSISAppInstance
    (ApplicationID, StartDateTime, Status)
    Output inserted.AppInstanceID
    Values
    (@AppID, GetDate(), 'Running')
我原以为该值会返回到
@RC
变量中,但它当然不是。是否有方法捕获my
@RC
变量中的结果集?

-- database unit test for log.LogStartOfApplication
DECLARE @RC AS INT, @ApplicationName AS VARCHAR (255);

SELECT @RC = 0,
       @ApplicationName = 'Unit Test Application';

EXECUTE @RC = [log].[LogStartOfApplication] @ApplicationName;

SELECT @RC AS RC;