在 SQL 中,经常需要将 exec 调用的结果分配给变量。虽然提供的语法可能看起来很直观,但这不是推荐的方法。
不要直接将执行结果分配给变量,请考虑以下替代方法:
输出参数允许您将值从存储过程传递回调用语句。在存储过程中,您定义输出参数并为其分配一个值。在调用语句中,使用 OUTPUT 关键字将输出参数指定为输出参数。
存储过程的返回值可用于指示存储过程的成功或失败操作。您可以使用返回值在调用语句中设置变量。
以下是使用输出参数来实现所需功能的示例:
存储过程:
CREATE PROCEDURE YourStoredProcedure ( @Param1 int, @Param2 varchar(5), @Param3 datetime OUTPUT ) AS IF @Param1 > 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
以上是如何最好地将 SQL'EXEC”调用的结果分配给变量?的详细内容。更多信息请关注PHP中文网其他相关文章!