使用游标进行递归查询

在应用中我们经常会遇到一些存在层级关系的数据,一般我们会采用 id name parentid的方式进行建表,这样我们可以就可以实现关系的无限级扩展了,但是我们要查询某个层级下的所有下属的时候就有时候就比较麻烦了,一般我们开始就会想到

select * from table where parentid='0000000001' 但是这样只能够查询出第一级的数据,因此我们需要一个递归查询,一般我们需要建立两个存储过程来完成这个功能,一个存储过程用来获取该数据的所有下级的id,当然大家可能都想到了,这里应该需要用到游标来循环取数据

 

如:

create PROCEDURE [dbo].[GetAlldataid]

@ID varchar(10)
AS
declare @data CURSOR
declare @parentID varchar(15)
declare @childID varchar(15)
                                                                                                                                                                                                                                                                                                                                                                                                                                              

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值