存储过程-树形结构数据删除
2015-12-08 11:47
513 查看
在项目中经常会遇到树形结构存储的数据,为了方便用户使用就会要求删除树的父节点同时子节点也跟着删除,这里根据网上查找的资料和自己的整理写了个存储过程,代码如下:
create PROCEDURE [dbo].[proc_EntityList] @EntityId varchar(36) AS BEGIN SET NOCOUNT OFF DECLARE @i INT SET @i = 0 create table #FIDS --创建临时表#Tmp ( id varchar(36) not null, --创建列ID levelNo varchar(50), ); INSERT INTO #FIDS ( id, levelNo ) VALUES ( @EntityId, -- id - int 1 -- levelNo - int ) WHILE @@ROWCOUNT > 0 BEGIN SET @i = @i + 1 INSERT #FIDS SELECT F.ID , @i + 1 FROM #FIDS R , dbo.EntityList F WHERE F.PID = R.id AND R.levelNo = @i END DELETE FROM dbo.EntityList WHERE ID IN ( SELECT ID FROM #FIDS ) END
相关文章推荐
- 项目实施
- 什么是NoSQL?MongoDB简单介绍
- Python 多线程
- 剑指offer67
- Android编译环境初始化浅析
- 将普通的数字转为color值,java和javascript的区别
- 黑马程序员——————进制的转换和数据类型
- Nodejs安装
- PHP7正式版测试,性能惊艳!
- javascript之window对象详解
- python 读取文件里的每行url 返回每个url请求响应页面的title!
- R语言完整决策树代码
- leetcode -- Merge Sorted Array -- 简单重点
- php微信用户绑定网站用户
- Remove '@override' annotation解决办法
- Spring MVC
- flowplayer设置视频logo
- Android国外学习资源汇总(转)
- CSS书写规范及顺序
- javascript之window对象