当前位置: 首页 > 编程笔记 >

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

漆雕嘉平
2023-03-14
本文向大家介绍sqlserver中存储过程的递归调用示例,包括了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

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

 类似资料:
  • 是否可以在HSQLDB中创建递归存储过程? 我编写了以下一个来更新一个记录,并递归地更新所有父记录: 但我得到了以下错误: 在HyperSQL用户指南中,我找到了一些信息(请参阅HyperSQL用户指南中的递归例程),但它似乎只支持函数。 提前感谢您的支持。

  • 问题内容: 我有下表: 现在,我需要一个mysql中的存储过程,该存储过程以递归方式调用自身并返回计算出的数量。例如,id 6有5个父级,而3个父级又有2个父级。因此,我需要计算(= 240)作为结果。 我对存储过程还很陌生,将来我不会经常使用它们,因为我更喜欢在程序代码中而不是在数据库中使用业务逻辑。但是在这种情况下,我无法避免。 也许mysql专家(就是您)可以在几秒钟内破解一条工作语句。 问

  • 问题内容: 我有一张桌子,我需要在99%的时间内自动分配ID(其他1%似乎使用身份列来排除)。因此,我有一个存储过程来获取以下行中的下一个ID: `` 检查必须检查用户是否手动使用了ID并找到下一个未使用的ID。 当我依次调用它并返回1、2、3时,它可以正常工作。我需要做的是在多个进程同时调用此方法的情况下提供一些锁定。理想情况下,我只需要它专用于围绕此代码锁定last_auto_id表,以便第二

  • 问题内容: 我试图在postgres 9.3上使用sql调用函数内的函数。 这个问题与我的另一篇文章有关。 我写了下面的函数。到目前为止,我还没有合并任何类型的save-output(COPY)语句,因此我试图通过创建嵌套函数print-out函数来解决此问题。 以上功能有效。 尝试创建嵌套函数。 调用嵌套函数。 输出 上面给出了这个。但是,当在print_out()中将arg1,arg2替换为’

  • 本文向大家介绍Node.js中调用mysql存储过程示例,包括了Node.js中调用mysql存储过程示例的使用技巧和注意事项,需要的朋友参考一下 例子仅在windows下测试通过,没有放在linux下测试。如有问题,可以电邮给我~ 1、安装node.js、mysql,此处略(自行搜索吧)…; 2、创建一个名为test的数据库,然后建一张名为user_info的表(仅供测试)… 这里假定mysql

  • 问题内容: 我在任何地方都找不到此答案,但是可以从MySQL中的另一个存储过程调用存储过程吗?我想找回标识值,并在父存储过程中使用它。我们不能再使用FUNCTIONS! 问题答案: 参数应该可以帮助您将值返回给调用过程。基于此,解决方案必须是这样的。