使用输出参数将 Exec 结果分配给 SQL 变量
在 SQL 中,exec 命令通常用于执行存储过程和函数。虽然您无法使用您建议的表达式(“exec @PreviousBusinessDay = dbo.up_GetBusinessDay @Date, -1”)直接将 exec 调用的结果分配给变量,但还有其他方法可以实现此功能。
一种首选方法涉及使用输出参数。输出参数允许您将变量作为输入传递,而且还可以使用从存储过程或函数返回的值来更新它。操作方法如下:
创建带有输出参数的存储过程:
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
在此示例中,@Param3 参数被声明为输出范围。它将使用存储过程返回的值进行更新。
使用输出参数调用存储过程:
DECLARE @OutputParameter datetime ,@ReturnValue int EXEC @ReturnValue = YourStoredProcedure 1, NULL, @OutputParameter OUTPUT PRINT @ReturnValue PRINT CONVERT(char(23), @OutputParameter, 121)
在此示例中,@OutputParameter变量被声明并作为输出参数传递给存储过程。 exec 调用后,@OutputParameter 变量将包含存储过程返回的结果,然后将其打印到控制台。
输出:
0 2010-01-01 00:00:00.000
使用输出参数提供了一种在 SQL 中的存储过程和客户端应用程序之间传递值的强大而有效的方法。
以上是如何将 SQL `exec` 命令的结果分配给变量?的详细内容。更多信息请关注PHP中文网其他相关文章!