递归式指代码片段调用自身的情况;危险之处在于:如果调用了自身一次,那么如何防止他反复地调用自身。也就是说提供递归检验来保证适当的时候可以跳出。
以阶层为例子说存储过程中递归的调用。
递归
create 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
当创建此存储过程时候,会遇见一条报告信息