源代码:ZGLanguage 解析SQL数据血缘 之 显示 MERGE SQL 结构图

SQL代码如下所示 :

sql 复制代码
MERGE INTO ETL.MA_F_LOAN A
    USING (SELECT /*+PARALLEL(8)*/
            T.ACCOUNT_NUMBER, T.GL_ACCOUNT_ID, T.INT_GL_ACCOUNT_ID
             FROM ETL.MA_F_LOAN T
            INNER JOIN ETL.MA_D_GL_SUBJECT T1
               ON T.INT_GL_ACCOUNT_ID = T1.SUBJECT_NO3
              AND T1.SUBJECT_NAME3 LIKE '%已减值%'
              AND T1.AS_OF_DATE = P_AS_OF_DATE
            WHERE T.AS_OF_DATE = P_AS_OF_DATE
              AND T.ACCOUNT_NUMBER IN
                  (SELECT ACCOUNT_NUMBER
                     FROM (SELECT /*+PARALLEL(8)*/
                            T2.ACCOUNT_NUMBER, COUNT(1)
                             FROM ETL.MA_F_LOAN T2
                            WHERE T2.AS_OF_DATE = P_AS_OF_DATE
                            GROUP BY T2.ACCOUNT_NUMBER
                           HAVING COUNT(1) > 1))) B
    ON (A.ACCOUNT_NUMBER = B.ACCOUNT_NUMBER AND A.AS_OF_DATE = P_AS_OF_DATE AND A.GL_ACCOUNT_ID = B.GL_ACCOUNT_ID AND A.INT_GL_ACCOUNT_ID = B.INT_GL_ACCOUNT_ID)
    WHEN MATCHED THEN
      UPDATE SET A.CUR_BOOK_BAL = 0, A.OVERDUE_BAL = 0
	  ;

通过 ZGLanguage + Python 将以上SQL转换成 Echarts 的树结构数据:

python 复制代码
[
    {
        "name": "test.code",
        "children": [
            {
                "name": "MA_F_LOAN",
                "children": [
                    {
                        "name": "__SUB_SELECT_2__",
                        "children": [
                            {
                                "name": "MA_F_LOAN",
                                "children": []
                            },
                            {
                                "name": "MA_D_GL_SUBJECT",
                                "children": []
                            },
                            {
                                "name": "__SUB_SELECT_30__",
                                "children": [
                                    {
                                        "name": "MA_F_LOAN",
                                        "children": []
                                    }
                                ]
                            }
                        ]
                    }
                ]
            }
        ]
    }
]

使用 Echarts 的展示 :

源代码下载

相关推荐
m0_748554813 小时前
golang如何实现用户订阅偏好管理_golang用户订阅偏好管理实现总结
jvm·数据库·python
早日退休!!!4 小时前
《数据结构选型指南》笔记
数据结构·数据库·oracle
xcLeigh4 小时前
KES数据库性能优化实战
数据库·sql·性能优化·sql优化·数据性能
阿正呀4 小时前
Redis怎样实现本地缓存的高效失效通知
jvm·数据库·python
yoyo_zzm4 小时前
Laravel9.x新特性全解析
数据库·mysql·nginx
2501_901200534 小时前
mysql如何设置InnoDB引擎参数_优化innodb_buffer_pool
jvm·数据库·python
m0_495496415 小时前
mysql处理复杂SQL性能_InnoDB优化器与MyISAM差异
jvm·数据库·python
forEverPlume6 小时前
PHP怎么使用Eloquent Attribute Composition属性组合_Laravel通过组合构建复杂属性【方法】
jvm·数据库·python
2301_809204706 小时前
mysql在docker容器中如何部署_利用docker-compose快速启动
jvm·数据库·python
虹科网络安全6 小时前
艾体宝产品|深度解读 Redis 8.4 新增功能:原子化 Slot 迁移(上)
数据库·redis·bootstrap