博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java --级联操作(查询/更新)
阅读量:6405 次
发布时间:2019-06-23

本文共 1411 字,大约阅读时间需要 4 分钟。

hot3.png

1.表设计如下

170257_Snww_2312022.jpg

2.测试数据如下

170409_mHJd_2312022.jpg

3.需求

查询某级别下面所有的子级别(假设级别最多只有3级),例如,某级别的id=1000000000,查询如下

SELECT * FROM t_commodity_type tct WHERE tct.PARENT_TYPE_ID = 1000000000UNION ALLSELECT * FROM t_commodity_type tct2 WHERE tct2.PARENT_TYPE_ID in (SELECT tct3.COMMODITY_TYPE_ID FROM t_commodity_type tct3 WHERE tct3.PARENT_TYPE_ID = 1000000000)

4.如果存在多级的话,一直union all下去

5.针对业务改善如上表设计

很明显,一个现级id、一个父级id不能方便的查询,还需要增加一个原级id。

这样,查询某个级别下面所有子级的时候,就可以挂上级别和原级id查询,这样方便些。

6.针对如上表的更新

更新某个级别下面所有的use_flag,如下的sql假设该级别为1

            UPDATE            t_commodity_type tct            SET            tct.USE_FLAG = 0,            tct.UPD_USER_ID = #{userId},            tct.UPD_TIME = #{updTime}            WHERE            (            tct.COMMODITY_TYPE_ID = #{commodityTypeId}            AND             tct.COMMODITY_LEVEL = 1            )            OR            (            tct.PARENT_TYPE_ID = #{commodityTypeId}            AND            tct.COMMODITY_LEVEL = 2            )            OR            tct.COMMODITY_TYPE_ID IN            (            SELECT            tct3.COMMODITY_TYPE_ID            FROM            t_commodity_type tct3            LEFT JOIN            t_commodity_type tct2            ON            tct3.PARENT_TYPE_ID = tct2.COMMODITY_TYPE_ID            WHERE            tct3.COMMODITY_LEVEL = 3            AND            tct2.PARENT_TYPE_ID = #{commodityTypeId}            )

转载于:https://my.oschina.net/u/2312022/blog/669777

你可能感兴趣的文章
自定义元素探秘及构建可复用组件最佳实践
查看>>
区块链是一个公共数据库,要放在一个块内
查看>>
Jenkins 用户文档(目录)
查看>>
系统常见指标
查看>>
使用crond构建linux定时任务及日志查看
查看>>
地图绘制初探——基于maptalks的2.5D地图绘制
查看>>
SpringBoot2.0之七 实现页面和后台代码的热部署
查看>>
Git 仓库大扫除
查看>>
设计模式-单例模式
查看>>
es6基础0x014:WeakMap
查看>>
九种 “姿势” 让你彻底解决跨域问题
查看>>
php中mysqli 处理查询结果集总结
查看>>
你不知道的JavaScript运算符
查看>>
小程序开发注意事项
查看>>
ECMAScript7规范中的instanceof操作符
查看>>
Hadoop HDFS原理分析
查看>>
【webpack4】基本配置和入门api
查看>>
Mac使用ssh公钥登录Linux
查看>>
【366天】跃迁之路——程序员高效学习方法论探索系列(实验阶段124-2018.02.06)...
查看>>
POJ3070-Fibonacci(矩阵快速幂)
查看>>