Kettle的执行sql脚本的组件
来源:互联网 发布:java web权限管理框架 编辑:程序博客网 时间:2024/06/05 16:33
UPDATE DSJYDD.T_CSKQZLFX_DQST_YLTS B SET B.YLTS = (
SELECT C.YLTS FROM (
SELECT COUNT(*) YLTS,A.CITYCODE FROM TENV.AIR_CITYDAYAQI_PUBLISH A WHERE A.QUALITY IN ('优','良')
AND TO_CHAR(A.TIMEPOINT,'YYYY-MM') >= (
SELECT CONCAT(YEAR(SYSDATE),'-01') FROM DUAL
)
AND TO_CHAR(A.TIMEPOINT,'YYYY-MM') <= TO_CHAR(SYSDATE,'YYYY-MM')
AND
A.CITYCODE IN ('110000','120000','130100','130200','131000','130600',
'130900','131100','130500','130400','140100'
,'140300','140400','140500','370100','370300','370800','371400','371500','371600','371700','410100','410200'
,'410500','410600','410700','410800','410900')
GROUP BY A.CITYCODE) C WHERE C.CITYCODE = B.CITYCODE),
B.YLTSTB = (SELECT CASE WHEN YLTS_QN = 0 THEN NULL ELSE ROUND((YLTS_JN-YLTS_QN)/YLTS_QN,2) * 100 END YLTSTB FROM (
SELECT COUNT(*) YLTS_JN,E.CITYCODE,
( SELECT YLTS_QN FROM (
SELECT COUNT(*) YLTS_QN,P.CITYCODE FROM TENV.AIR_CITYDAYAQI_PUBLISH P
WHERE P.QUALITY IN ('优','良')
AND TO_CHAR(P.TIMEPOINT,'YYYY-MM') >= TO_CHAR(TO_DATE(CONCAT(YEAR(SYSDATE),'-01'),'YYYY-MM') - 1 YEAR,'YYYY-MM')
AND TO_CHAR(P.TIMEPOINT,'YYYY-MM-DD') <= TO_CHAR((SYSDATE-1 DAY) -1 YEAR,'YYYY-MM-DD')
AND P.CITYCODE IN ('110000','120000','130100','130200','131000','130600',
'130900','131100','130500','130400','140100'
,'140300','140400','140500','370100','370300','370800','371400','371500','371600','371700','410100','410200'
,'410500','410600','410700','410800','410900')
GROUP BY P.CITYCODE
) D WHERE D.CITYCODE = E.CITYCODE) YLTS_QN
FROM TENV.AIR_CITYDAYAQI_PUBLISH E WHERE E.QUALITY IN ('优','良')
AND TO_CHAR(E.TIMEPOINT,'YYYY-MM') >= (
SELECT CONCAT(YEAR(SYSDATE),'-01') FROM DUAL)
AND TO_CHAR(E.TIMEPOINT,'YYYY-MM') <= TO_CHAR(SYSDATE,'YYYY-MM')
AND E.CITYCODE IN ('110000','120000','130100','130200','131000','130600',
'130900','131100','130500','130400','140100'
,'140300','140400','140500','370100','370300','370800','371400','371500','371600','371700','410100','410200'
,'410500','410600','410700','410800','410900')
GROUP BY E.CITYCODE
) F WHERE F.CITYCODE = B.CITYCODE)
WHERE EXISTS (SELECT 1 FROM TENV.AIR_CITYDAYAQI_PUBLISH A WHERE A.QUALITY IN ('优','良')
AND TO_CHAR(A.TIMEPOINT,'YYYY-MM') >= (
SELECT CONCAT(YEAR(SYSDATE),'-01') FROM DUAL
)
AND TO_CHAR(A.TIMEPOINT,'YYYY-MM') <= TO_CHAR(SYSDATE,'YYYY-MM')
AND A.CITYCODE IN ('110000','120000','130100','130200','131000','130600',
'130900','131100','130500','130400','140100'
,'140300','140400','140500','370100','370300','370800','371400','371500','371600','371700','410100','410200'
,'410500','410600','410700','410800','410900')
)
UPDATE DSJYDD.T_CSKQZLFX_DQST_YLTS B SET B.YLTS = (
SELECT C.YLTS FROM (
SELECT COUNT(*) YLTS,A.CITYCODE FROM TENV.AIR_CITYDAYAQI_PUBLISH A WHERE A.QUALITY IN ('优','良')
AND TO_CHAR(A.TIMEPOINT,'YYYY-MM') >= (
SELECT CONCAT(YEAR(SYSDATE),'-01') FROM DUAL
)
AND TO_CHAR(A.TIMEPOINT,'YYYY-MM') <= TO_CHAR(SYSDATE,'YYYY-MM')
GROUP BY A.CITYCODE) C WHERE C.CITYCODE = B.CITYCODE),
B.YLTSTB = (SELECT CASE WHEN YLTS_QN = 0 THEN NULL ELSE ROUND((YLTS_JN-YLTS_QN)/YLTS_QN,2) * 100 END YLTSTB FROM (
SELECT COUNT(*) YLTS_JN,E.CITYCODE,
( SELECT YLTS_QN FROM (
SELECT COUNT(*) YLTS_QN,P.CITYCODE FROM TENV.AIR_CITYDAYAQI_PUBLISH P
WHERE P.QUALITY IN ('优','良')
AND TO_CHAR(P.TIMEPOINT,'YYYY-MM') >= TO_CHAR(TO_DATE(CONCAT(YEAR(SYSDATE),'-01'),'YYYY-MM') - 1 YEAR,'YYYY-MM')
AND TO_CHAR(P.TIMEPOINT,'YYYY-MM-DD') <= TO_CHAR((SYSDATE-1 DAY) -1 YEAR,'YYYY-MM-DD')
GROUP BY P.CITYCODE
) D WHERE D.CITYCODE = E.CITYCODE) YLTS_QN
FROM TENV.AIR_CITYDAYAQI_PUBLISH E WHERE E.QUALITY IN ('优','良')
AND TO_CHAR(E.TIMEPOINT,'YYYY-MM') >= (
SELECT CONCAT(YEAR(SYSDATE),'-01') FROM DUAL)
AND TO_CHAR(E.TIMEPOINT,'YYYY-MM') <= TO_CHAR(SYSDATE,'YYYY-MM')
GROUP BY E.CITYCODE
) F WHERE F.CITYCODE = B.CITYCODE)
WHERE EXISTS (SELECT 1 FROM TENV.AIR_CITYDAYAQI_PUBLISH A WHERE A.QUALITY IN ('优','良')
AND TO_CHAR(A.TIMEPOINT,'YYYY-MM') >= (
SELECT CONCAT(YEAR(SYSDATE),'-01') FROM DUAL
)
AND TO_CHAR(A.TIMEPOINT,'YYYY-MM') <= TO_CHAR(SYSDATE,'YYYY-MM')
)
注意的是要是让Kettle只是执行一次SQL文件的话,那么只需要建立上面一个执行SQL脚本的组件就行了,然后建立定时任务,Kettle就能定时的执行了!!!
- Kettle的执行sql脚本的组件
- kettle 执行sql脚本的使用方法
- kettle转换里面sql脚本的执行顺序
- 通过 脚本执行 kettle 的作业 命令
- 使用Kettle工具通过执行SQL脚本的形式来实现导入到MySQL数据库
- Kettle之【执行SQL脚本】控件用法
- kettle组件的效率
- 导致kettle脚本异常的sql:FIELDS TERMINATED BY ';'
- 定时执行的SQL脚本
- .net中sql脚本的执行
- 抓SQL执行语句时间的脚本
- 执行sql脚本的小技巧
- Inno Setup执行SQL脚本的方法
- 执行SQL脚本文件 :@与@@的区别
- MS SQL 显示进程执行的脚本
- mysql执行sql脚本的方法
- PL/SQL中建库脚本的执行
- 脚本执行SQL语句的小方法。
- 自定义view拖动远点案例
- 关于JAVA程序的kerbose认证的一些事儿
- Android-Jni线程(二)— 线程锁之生产者消费者
- Delphi消息截获
- Executors创建线程池的弊端
- Kettle的执行sql脚本的组件
- struts 跨站点脚本漏洞2
- 关于指针的一些知识点
- 结构体的使用及注意点
- Bootstrap学习笔记 19
- 小程序使用wxParse解析html
- centos搭建lnmp环境
- js基础之关于Boolean及相等运算符的隐式类型转换
- Activity横屏显示