求个数据库无限级分类的删除方法。

kiaoqq2010 2010-07-27 10:30:23
也就是网上一般的无限级分类。我自己写了一个,不过我觉得很搓。求个逻辑清晰的删除方法。

id name parentId

这个就是分类方法,和网上的一样。
...全文
112 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
kinglot 2010-07-27
  • 打赏
  • 举报
回复
用递归获取所有子节点,子节点的节点,一一删除,注意使用事务处理。
amandag 2010-07-27
  • 打赏
  • 举报
回复
就楼主的表结构,没特别好的方案,一般都有字段记录当前节点的所有子节点,这样就能快速删除了
leejelen 2010-07-27
  • 打赏
  • 举报
回复
触发器。
kiaoqq2010 2010-07-27
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 wuyq11 的回复:]
递归删除子分类,再删除
[/Quote]
你说的是递归删除子类再删除 根么?
wuyq11 2010-07-27
  • 打赏
  • 举报
回复
递归删除子分类,再删除
Ny-6000 2010-07-27
  • 打赏
  • 举报
回复
自己写递归,并限止最大循环层数。。


否则性能上不好办的。
kiaoqq2010 2010-07-27
  • 打赏
  • 举报
回复
下班结贴,继续顶。我也继续找资料。
kiaoqq2010 2010-07-27
  • 打赏
  • 举报
回复
不要沉了 求大虾。
kiaoqq2010 2010-07-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hrabeyond 的回复:]
触发器相对表是独立的 写在数据库中自动调用 程序只负责删除最顶级的数据
[/Quote]

但是我记得触发器触发删除之后,它就不会对原触发器的删除做操作? 好像是。
wwfgu00ing 2010-07-27
  • 打赏
  • 举报
回复
手抓宝 2010-07-27
  • 打赏
  • 举报
回复
触发器相对表是独立的 写在数据库中自动调用 程序只负责删除最顶级的数据
kiaoqq2010 2010-07-27
  • 打赏
  • 举报
回复
你说的是触发器递归么?
手抓宝 2010-07-27
  • 打赏
  • 举报
回复
触发器
亚丁号 2010-07-27
  • 打赏
  • 举报
回复
视图递归 我头几天写了 和你的差不多
WITH locs(sbiID, sbiParentID, loclevel)
AS
(
SELECT sbiID, sbiParentID, 0 AS loclevel FROM SystemBaseInfo
WHERE sbiID IN ('+@sbiIDList+')
UNION ALL
SELECT a.sbiID, a.sbiParentID, loclevel + 1 FROM SystemBaseInfo a
INNER JOIN locs b ON a.sbiParentID = b.sbiID
)
这是我写的那个 你可以改下 需求都是一样的
Aquarius娜吖 2010-07-27
  • 打赏
  • 举报
回复
触发器
winner2050 2010-07-27
  • 打赏
  • 举报
回复
先把下级都查询出来,得到了id 。
还不好删除??

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧