各位用户为了找寻关于sqlserver中存储过程的递归调用示例的资料费劲了很多周折。这里教程网为您整理了关于sqlserver中存储过程的递归调用示例的相关资料,仅供查阅,以下为您介绍关于sqlserver中存储过程的递归调用示例的详细内容
递归式指代码片段调用自身的情况;危险之处在于:如果调用了自身一次,那么如何防止他反复地调用自身。也就是说提供递归检验来保证适当的时候可以跳出。
以阶层为例子说存储过程中递归的调用。
递归
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18CREATE
PROC [dbo].[usp_spFactorial]
@InputValue
INT
,
@OuputValue
INT
OUTPUT
AS
BEGIN
DECLARE
@InValue
INT
;
DECLARE
@OutValue
INT
;
IF(@InputValue!=1)
BEGIN
SET
@InValue = @InputValue - 1;
EXEC
spFactorial @InValue,@OutValue
OUTPUT
;
SELECT
@OuputValue = @InputValue * @OutValue;
END
ELSE
BEGIN
SET
@OuputValue = 1;
END
END
当创建此存储过程时候,会遇见一条报告信息