首页 > 数据库 > mysql教程 > 如何将 EXEC 调用的结果分配给 SQL 变量?

如何将 EXEC 调用的结果分配给 SQL 变量?

Mary-Kate Olsen
发布: 2025-01-04 12:46:39
原创
320 人浏览过

How to Assign the Result of an EXEC Call to a SQL Variable?

将 Exec 结果分配给 SQL 变量

问题:
如何将 exec 调用的结果分配给 SQL 中的变量?例如,如果您有一个名为 up_GetBusinessDay 的存储过程返回单个日期,您可以使用如下语句分配结果吗:

exec @PreviousBusinessDay = dbo.up_GetBusinessDay @Date, -1
登录后复制

答案:

利用输出参数是首选方法,而不是将结果直接分配给变量。下面是创建带有输出参数的存储过程的示例:

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
登录后复制

调用此存储过程并使用输出参数:

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 变量?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板