欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-10-10 16:04:02
递归式指代码片段调用自身的情况;危险之处在于:如果调用了自身一次,那么如何防止他反复地调用自身。也就是说提供递归检验来保证适当的时候可以跳出。 以阶层为例子说存储过程中递...

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

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

递归

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

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