在存储过程中实现递归操作在实际开发中是经常遇到的,象有继承关系的用户权限、组权限,功能菜单树等等。需要通过一个存储过程返回最终结果的时候就要用到了。对于返回结果为一个值的时候叫简单,返回结果为一个数据集的时候,我是用全局表来实现的。
1、返回一个值的情况:通过一out型参数返回值结果
2、返回数据集的情况:需要用两个存储过程,第一个存储过程(sp_A)供外部调用,它负责创建和删除全局临时表(##TempTableAB)调用第二个存储过程(sp_B),第二个存储过程实现递归并将操作结果保存到全局临时表。
本文介绍如何在存储过程中实现递归操作。针对不同场景,分别讨论了返回单一值和数据集的方法。后者涉及使用全局表来存储递归结果。

1921

被折叠的 条评论
为什么被折叠?



