如何将 exec 结果分配给 sql 变量? [英] How to assign an exec result to a sql variable?

查看:41
本文介绍了如何将 exec 结果分配给 sql 变量?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何将 exec 调用的结果分配给 SQL 中的变量?我有一个名为 up_GetBusinessDay 的存储过程,它返回一个日期.

How do you assign the result of an exec call to a variable in SQL? I have a stored proc called up_GetBusinessDay, which returns a single date.

你能做这样的事情吗:

exec @PreviousBusinessDay = dbo.up_GetBusinessDay @Date, -1

推荐答案

我总是使用返回值来回传错误状态.如果您需要传回一个值,我会使用输出参数.

I always use the return value to pass back error status. If you need to pass back one value I'd use an output parameter.

示例存储过程,带有 OUTPUT 参数:

sample stored procedure, with an OUTPUT parameter:

CREATE PROCEDURE YourStoredProcedure 
(
    @Param1    int
   ,@Param2    varchar(5)
   ,@Param3    datetime OUTPUT
)
AS
IF ISNULL(@Param1,0)>5
BEGIN
    SET @Param3=GETDATE()
END
ELSE
BEGIN
    SET @Param3='1/1/2010'
END
RETURN 0
GO

使用 OUTPUT 参数调用存储过程:

call to the stored procedure, with an OUTPUT parameter:

DECLARE @OutputParameter  datetime
       ,@ReturnValue      int

EXEC @ReturnValue=YourStoredProcedure 1,null, @OutputParameter OUTPUT
PRINT @ReturnValue
PRINT CONVERT(char(23),@OutputParameter ,121)

输出:

0
2010-01-01 00:00:00.000

这篇关于如何将 exec 结果分配给 sql 变量?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆