sqlserver中存储过程的递归调用示例
递归式指代码片段调用自身的情况;危险之处在于:如果调用了自身一次,那么如何防止他反复地调用自身。也就是说提供递归检验来保证适当的时候可以跳出。
以阶层为例子说存储过程中递归的调用。
递归
CREATEPROC[dbo].[usp_spFactorial] @InputValueINT, @OuputValueINTOUTPUT AS BEGIN DECLARE@InValueINT; DECLARE@OutValueINT; IF(@InputValue!=1) BEGIN SET@InValue=@InputValue-1; EXECspFactorial@InValue,@OutValueOUTPUT; SELECT@OuputValue=@InputValue*@OutValue; END ELSE BEGIN SET@OuputValue=1; END END
当创建此存储过程时候,会遇见一条报告信息