sqlserver中存储过程的递归调用示例

递归式指代码片段调用自身的情况;危险之处在于:如果调用了自身一次,那么如何防止他反复地调用自身。也就是说提供递归检验来保证适当的时候可以跳出。

以阶层为例子说存储过程中递归的调用。

递归

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

当创建此存储过程时候,会遇见一条报告信息

(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐