如果有一张表(同一张)
如图
主键是cate_id代表类别 每一列有对应的parent_id 代表对应的父类
没有父类时,parent_id值为0;
有父类时parent_id值为对应的cate_id
如何在删除cate_id的时候。同时删除 parent_id与cate_id 相等的项
------解决方案--------------------
图挂了。
语法类似这样:
- SQL code
--外关键字增加级联删除、级联更新alter table 表add constraint fk_name foreign key(约束列)references 主表(约束列)on update cascadeon delete no action
------解决方案--------------------
这个应该不是级联来处理的事,楼主自己写语句来处理了。
1、递归找到该节点下所有子节点,例如按公司来看
- SQL code
;with cte as( select id,parentid from SM_Company where id = 2 --要删除的公司节点 union all select a.id,a.parentid from SM_Company a join cte b on a.parentid = b.id where a.id is not null)