当前位置: 首页 > news >正文

清理数据库中的某个部门树

问题

需要清理指定部门di的某个部门树。即需要更新这课树的部门的删除标识字段。

解决

查询指定部门树

WITH RECURSIVE dept_tree AS (SELECT dept_id, parent_id, dept_name, del_flagFROM sys_deptWHERE dept_id = <部门id>UNION ALLSELECT d.dept_id, d.parent_id, d.dept_name, d.del_flagFROM sys_dept dINNER JOIN dept_tree dt ON d.parent_id = dt.dept_id
)
-- 显示部门树的信息
SELECT *
FROM dept_tree
ORDER BY parent_id, dept_id;

更新指定部门树

删除指定部门树:

-- 递归查询找到所有子部门的dept_id
WITH RECURSIVE dept_tree AS (SELECT dept_idFROM sys_deptWHERE dept_id = <部门id>UNION ALLSELECT d.dept_idFROM sys_dept dINNER JOIN dept_tree dt ON d.parent_id = dt.dept_id
)
-- 将查询到的部门及其子部门的del_flag设为1
UPDATE sys_dept
SET del_flag = 1
WHERE dept_id IN (SELECT dept_id FROM dept_tree);

总结

有ChatGPT写SQL,还是挺方便的。


http://www.mrgr.cn/news/56741.html

相关文章:

  • 《云原生安全攻防》-- K8s攻击案例:权限维持的攻击手法
  • 《Python游戏编程入门》注-第3章1
  • Python N次函数拟合
  • Vue学习笔记(一、关于MVC和MVVM)
  • 【SRS】
  • 高质量AI绘画提示词10个,学到就是赚到!
  • C/C++使用中的小技巧
  • 若依框架定制
  • 深入理解CityHash算法
  • 【MATLAB源码-第262期】基于matlab的OFDM+QPSK多径信道下图片传输系统仿真,多径数目为5,子载波64,对比前后的图片
  • 【MATLAB源码-第261期】基于matlab的帝企鹅优化算法(EPO)机器人栅格路径规划,输出做短路径图和适应度曲线
  • 学习threejs,THREE.PointCloud(新版本改名:THREE.Points)批量管理粒子
  • 公开课 | AI赋能自动化测试:解锁未来测试新篇章
  • Spring Boot环境下的论坛网站设计与实现
  • 物理海洋随学笔记(一)
  • (二十)Java之多线程
  • 企业数字化转型的理论指南:构建未来企业的关键策略与实践路径
  • Linux-shell实例手册-服务操作
  • 原生页面引入Webpack打包JS
  • JavaSE——IO流5:高级流(序列化与反序列化流/对象操作流)