- 浏览: 228709 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
netwelfare:
文章的格式有点乱啊,看起来很费事啊。推荐看这个系列的json教 ...
java 操作JSON -
yangqingandjay:
ijoi刚好一个月[color=orange][align=c ...
spring 定时器配置 -
Jxdwuao:
不错, 很好用
spring 定时器配置 -
1870702720:
3楼说的可以,之前我一直以为想配置在一个定时器中,可是实现不了 ...
spring 定时器配置 -
taiwei.peng:
你可以配置两个定时器,这是我个人的想法,仅供参考。
spring 定时器配置
--01 删除表中的现有数据
TRUNCATE TABLE TEMP_WAYBILL_CYX;
--02将附件中的运单号拷贝到TEMP_WAYBILL_CYX 表中
--03 插入过度表值
DECLARE
A DATE := DATE '2016-02-26';
B DATE := DATE '2016-02-26';
C DATE := DATE '2016-02-26';
D DATE := DATE '2016-02-27';
BEGIN
EXECUTE IMMEDIATE 'TRUNCATE TABLE TEMP_SRCZONECODE_CYX';
FOR Q IN 1 .. 15 LOOP
INSERT INTO TEMP_SRCZONECODE_CYX
(WAYBILL_NO, SRC_ZONE_CODE, DEST_ZONE_CODE)
SELECT /*+ PARALLEL(T,5) */
T.WAYBILL_NO, T.SRC_ZONE_CODE, T.DEST_ZONE_CODE
FROM TT_WAYBILL_INFO T
WHERE EXISTS
(SELECT 1 FROM TEMP_WAYBILL_CYX WHERE WAYBILL_NO = T.WAYBILL_NO)
AND T.REPORT_DT = A;
COMMIT;
A := A + 1;
END LOOP;
EXECUTE IMMEDIATE 'TRUNCATE TABLE TEMP_RESULT_CYX';
FOR Q IN 1 .. 15 LOOP
INSERT INTO TEMP_RESULT_CYX
(WAYBILL_NO,
SRC_ZONE_CODE,
DEST_ZONE_CODE,
ROUTE_INDEX,
BATCH_TYPE,
S_ZONE_CODE,
S_BATCH_CODE,
S_OPT_TM,
S_DELIVERY_TM,
D_ZONE_CODE,
D_BATCH_CODE,
D_OPT_TM,
D_DELIVERY_TM,
D_S_OPT,
D_S_DIFF,
D_VEHICLE_NO,
VEHICLE_AREA,
D_BAR_OPT_CODE,
STAY_WHY_NAME,
EXCEPTION_STATUS,
DUTY_STATUS)
SELECT /*+ INDEX(IPK_WAYBILL_ROUTE_INFO) parallel(DT,5)*/
DT.WAYBILL_NO AS 运单号,
C.SRC_ZONE_CODE AS 始发网点,
C.DEST_ZONE_CODE AS 目的网点,
DT.ROUTE_INDEX AS 路由序号,
(CASE DT.D_BATCH_TYPE
WHEN 1 THEN
'收件班次'
WHEN 2 THEN
'收件仓库班次'
WHEN 3 THEN
'中转班次'
WHEN 4 THEN
'运输班次'
WHEN 5 THEN
'派件仓库班次'
WHEN 6 THEN
'派件班次'
ELSE
''
END) AS 班次类型,
DT.S_ZONE_CODE AS 静态网点,
DT.S_BATCH_CODE AS 静态班次,
DT.S_OPT_TM AS 静态操作时间,
DT.S_DELIVERY_TM AS 静态派送时效,
DT.D_ZONE_CODE AS 实际网点,
DT.D_BATCH_BATCH_CODE AS 实际班次,
DT.D_OPT_TM AS 动态操作时间,
DT.D_DELIVERY_TM AS 动态派送时效,
NVL(ROUND(TO_NUMBER(DT.D_OPT_TM - DT.S_OPT_TM) * 1440), 0) || 'm' AS 时差,
NVL(ROUND(TO_NUMBER(DT.S_DELIVERY_TM - DT.D_DELIVERY_TM) * 1440),
0) || 'm' AS 时效差值,
DT.D_VEHICLE_NO AS 车标号,
'',
DT.D_BAR_OPT_CODE AS 操作员,
S.STAY_WHY_NAME AS 异常原因,
T.EXCEPTION_NAME AS 异常状态,
(CASE DT.DUTY_STATUS
WHEN '0' THEN
''
WHEN '1' THEN
'仓库发件晚点'
WHEN '2' THEN
'中转发件晚点'
WHEN '3' THEN
'运输到达晚点'
WHEN '4' THEN
'仓库出仓晚点'
WHEN '5' THEN
'延误派送'
ELSE
'其他'
END) AS 定责状态
FROM TT_WAYBILL_ROUTE_INFO DT
LEFT JOIN ompweb.Tm_Bar_Stay_Why_Code S
ON DT.EXCEPTION_REASON = S.STAY_WHY_CODE
LEFT JOIN TEMP_EXCEPTION_STATUS T
ON NVL(T.EXCEPTION_STATUS, 0) =
SUBSTR(DT.EXCEPTION_STATUS,
1,
INSTR(DT.EXCEPTION_STATUS || ',', ',') - 1)
INNER JOIN TEMP_SRCZONECODE_CYX C
ON DT.WAYBILL_NO = C.WAYBILL_NO
WHERE DT.REPORT_DT = B;
COMMIT;
B := B + 1;
END LOOP;
EXECUTE IMMEDIATE 'TRUNCATE TABLE TEMP_CONVE_PLATENUM';
FOR Q IN 1 .. 15 LOOP
INSERT INTO TEMP_CONVE_PLATENUM
(VEHICLE_AREA, PLATE_NUM)
SELECT T.VEHICLE_AREA, T.PLATE_NUM
FROM TT_CONVEYANCE_SHOW T
WHERE T.PLAN_DATE >= C
AND T.PLAN_DATE < D;
COMMIT;
C := C + 1;
D := D + 1;
END LOOP;
EXECUTE IMMEDIATE 'TRUNCATE TABLE TEMP_CONVE_VEHICLEAREA';
INSERT INTO TEMP_CONVE_VEHICLEAREA
(VEHICLE_AREA, PLATE_NUM, RN)
SELECT *
FROM (SELECT T.VEHICLE_AREA,
T.PLATE_NUM,
ROW_NUMBER() OVER(PARTITION BY PLATE_NUM ORDER BY PLATE_NUM) RN
FROM TEMP_CONVE_PLATENUM T)
WHERE RN = 1;
COMMIT;
END;
--05 修改车辆管理区
MERGE INTO TEMP_RESULT_CYX T
USING TEMP_CONVE_VEHICLEAREA R
ON (T.D_VEHICLE_NO = R.PLATE_NUM)
WHEN MATCHED THEN
UPDATE SET T.VEHICLE_AREA = R.VEHICLE_AREA;
COMMIT;
--06 查询结果给用户
SELECT WAYBILL_NO AS 运单号,
SRC_ZONE_CODE AS 始发网点,
DEST_ZONE_CODE AS 目的网点,
ROUTE_INDEX AS 路由序号,
BATCH_TYPE AS 班次类型,
S_ZONE_CODE AS 静态网点,
S_BATCH_CODE AS 静态班次,
S_OPT_TM AS 静态操作时间,
S_DELIVERY_TM AS 静态派送时效,
D_ZONE_CODE AS 实际网点,
D_BATCH_CODE AS 实际班次,
D_OPT_TM AS 动态操作时间,
D_DELIVERY_TM AS 动态派送时效,
D_S_OPT AS 时差,
D_S_DIFF AS 时效差值,
D_VEHICLE_NO AS 车标号,
VEHICLE_AREA AS 车辆管理方,
D_BAR_OPT_CODE AS 操作员,
STAY_WHY_NAME AS 异常原因,
EXCEPTION_STATUS AS 异常状态,
DUTY_STATUS AS 定责状态
FROM TEMP_RESULT_CYX
ORDER BY WAYBILL_NO, ROUTE_INDEX;
TRUNCATE TABLE TEMP_WAYBILL_CYX;
--02将附件中的运单号拷贝到TEMP_WAYBILL_CYX 表中
--03 插入过度表值
DECLARE
A DATE := DATE '2016-02-26';
B DATE := DATE '2016-02-26';
C DATE := DATE '2016-02-26';
D DATE := DATE '2016-02-27';
BEGIN
EXECUTE IMMEDIATE 'TRUNCATE TABLE TEMP_SRCZONECODE_CYX';
FOR Q IN 1 .. 15 LOOP
INSERT INTO TEMP_SRCZONECODE_CYX
(WAYBILL_NO, SRC_ZONE_CODE, DEST_ZONE_CODE)
SELECT /*+ PARALLEL(T,5) */
T.WAYBILL_NO, T.SRC_ZONE_CODE, T.DEST_ZONE_CODE
FROM TT_WAYBILL_INFO T
WHERE EXISTS
(SELECT 1 FROM TEMP_WAYBILL_CYX WHERE WAYBILL_NO = T.WAYBILL_NO)
AND T.REPORT_DT = A;
COMMIT;
A := A + 1;
END LOOP;
EXECUTE IMMEDIATE 'TRUNCATE TABLE TEMP_RESULT_CYX';
FOR Q IN 1 .. 15 LOOP
INSERT INTO TEMP_RESULT_CYX
(WAYBILL_NO,
SRC_ZONE_CODE,
DEST_ZONE_CODE,
ROUTE_INDEX,
BATCH_TYPE,
S_ZONE_CODE,
S_BATCH_CODE,
S_OPT_TM,
S_DELIVERY_TM,
D_ZONE_CODE,
D_BATCH_CODE,
D_OPT_TM,
D_DELIVERY_TM,
D_S_OPT,
D_S_DIFF,
D_VEHICLE_NO,
VEHICLE_AREA,
D_BAR_OPT_CODE,
STAY_WHY_NAME,
EXCEPTION_STATUS,
DUTY_STATUS)
SELECT /*+ INDEX(IPK_WAYBILL_ROUTE_INFO) parallel(DT,5)*/
DT.WAYBILL_NO AS 运单号,
C.SRC_ZONE_CODE AS 始发网点,
C.DEST_ZONE_CODE AS 目的网点,
DT.ROUTE_INDEX AS 路由序号,
(CASE DT.D_BATCH_TYPE
WHEN 1 THEN
'收件班次'
WHEN 2 THEN
'收件仓库班次'
WHEN 3 THEN
'中转班次'
WHEN 4 THEN
'运输班次'
WHEN 5 THEN
'派件仓库班次'
WHEN 6 THEN
'派件班次'
ELSE
''
END) AS 班次类型,
DT.S_ZONE_CODE AS 静态网点,
DT.S_BATCH_CODE AS 静态班次,
DT.S_OPT_TM AS 静态操作时间,
DT.S_DELIVERY_TM AS 静态派送时效,
DT.D_ZONE_CODE AS 实际网点,
DT.D_BATCH_BATCH_CODE AS 实际班次,
DT.D_OPT_TM AS 动态操作时间,
DT.D_DELIVERY_TM AS 动态派送时效,
NVL(ROUND(TO_NUMBER(DT.D_OPT_TM - DT.S_OPT_TM) * 1440), 0) || 'm' AS 时差,
NVL(ROUND(TO_NUMBER(DT.S_DELIVERY_TM - DT.D_DELIVERY_TM) * 1440),
0) || 'm' AS 时效差值,
DT.D_VEHICLE_NO AS 车标号,
'',
DT.D_BAR_OPT_CODE AS 操作员,
S.STAY_WHY_NAME AS 异常原因,
T.EXCEPTION_NAME AS 异常状态,
(CASE DT.DUTY_STATUS
WHEN '0' THEN
''
WHEN '1' THEN
'仓库发件晚点'
WHEN '2' THEN
'中转发件晚点'
WHEN '3' THEN
'运输到达晚点'
WHEN '4' THEN
'仓库出仓晚点'
WHEN '5' THEN
'延误派送'
ELSE
'其他'
END) AS 定责状态
FROM TT_WAYBILL_ROUTE_INFO DT
LEFT JOIN ompweb.Tm_Bar_Stay_Why_Code S
ON DT.EXCEPTION_REASON = S.STAY_WHY_CODE
LEFT JOIN TEMP_EXCEPTION_STATUS T
ON NVL(T.EXCEPTION_STATUS, 0) =
SUBSTR(DT.EXCEPTION_STATUS,
1,
INSTR(DT.EXCEPTION_STATUS || ',', ',') - 1)
INNER JOIN TEMP_SRCZONECODE_CYX C
ON DT.WAYBILL_NO = C.WAYBILL_NO
WHERE DT.REPORT_DT = B;
COMMIT;
B := B + 1;
END LOOP;
EXECUTE IMMEDIATE 'TRUNCATE TABLE TEMP_CONVE_PLATENUM';
FOR Q IN 1 .. 15 LOOP
INSERT INTO TEMP_CONVE_PLATENUM
(VEHICLE_AREA, PLATE_NUM)
SELECT T.VEHICLE_AREA, T.PLATE_NUM
FROM TT_CONVEYANCE_SHOW T
WHERE T.PLAN_DATE >= C
AND T.PLAN_DATE < D;
COMMIT;
C := C + 1;
D := D + 1;
END LOOP;
EXECUTE IMMEDIATE 'TRUNCATE TABLE TEMP_CONVE_VEHICLEAREA';
INSERT INTO TEMP_CONVE_VEHICLEAREA
(VEHICLE_AREA, PLATE_NUM, RN)
SELECT *
FROM (SELECT T.VEHICLE_AREA,
T.PLATE_NUM,
ROW_NUMBER() OVER(PARTITION BY PLATE_NUM ORDER BY PLATE_NUM) RN
FROM TEMP_CONVE_PLATENUM T)
WHERE RN = 1;
COMMIT;
END;
--05 修改车辆管理区
MERGE INTO TEMP_RESULT_CYX T
USING TEMP_CONVE_VEHICLEAREA R
ON (T.D_VEHICLE_NO = R.PLATE_NUM)
WHEN MATCHED THEN
UPDATE SET T.VEHICLE_AREA = R.VEHICLE_AREA;
COMMIT;
--06 查询结果给用户
SELECT WAYBILL_NO AS 运单号,
SRC_ZONE_CODE AS 始发网点,
DEST_ZONE_CODE AS 目的网点,
ROUTE_INDEX AS 路由序号,
BATCH_TYPE AS 班次类型,
S_ZONE_CODE AS 静态网点,
S_BATCH_CODE AS 静态班次,
S_OPT_TM AS 静态操作时间,
S_DELIVERY_TM AS 静态派送时效,
D_ZONE_CODE AS 实际网点,
D_BATCH_CODE AS 实际班次,
D_OPT_TM AS 动态操作时间,
D_DELIVERY_TM AS 动态派送时效,
D_S_OPT AS 时差,
D_S_DIFF AS 时效差值,
D_VEHICLE_NO AS 车标号,
VEHICLE_AREA AS 车辆管理方,
D_BAR_OPT_CODE AS 操作员,
STAY_WHY_NAME AS 异常原因,
EXCEPTION_STATUS AS 异常状态,
DUTY_STATUS AS 定责状态
FROM TEMP_RESULT_CYX
ORDER BY WAYBILL_NO, ROUTE_INDEX;
发表评论
-
时效承诺明细产品流向存储过程
2016-05-04 14:30 0CREATE OR REPLACE PROCEDURE ST ... -
oracle 小知识点
2016-05-02 15:46 474oracle 默认排序空值在后面,显示在前面用nvl(co ... -
oracle 分析函数
2016-05-02 15:17 294row_number() over(partition by ... -
时效承诺明细行政区到城市
2016-04-28 13:18 0CREATE OR REPLACE PROCEDURE ST ... -
修改行政区ID的存储过程
2016-04-28 13:15 0CREATE OR REPLACE PROCEDURE S ... -
hive 资料
2016-04-11 20:07 0hive 培训资料 -
oracle 三种表连接方式
2016-04-10 18:04 886oracle 小知识 1.oracle 查看表大小 SEL ... -
sql 基本优化
2016-03-17 21:58 6171.select语句中避免使用*;2.ORACLE 采用从 ... -
最近存储过程
2015-07-28 10:43 533CREATE OR REPLACE PROCEDURE STP ... -
oracle 开窗函数使用,merge
2014-10-14 15:17 835select cast(last_operate_tm as ... -
oracle case when then 用法
2014-10-11 12:15 1120SELECT D.DEPT_CODE, ... -
oracle 创建无参存储过程
2014-09-23 15:26 1419create or replace procedure pro ... -
Oracle表分区与索引的创建
2013-10-22 11:00 1390create table TT_FLOW_TEST ( i ... -
PL SQL Develop中文乱码问题
2013-03-29 10:53 21881.准备软件 下载 oracle client客服端工具包 ... -
Oracle DB link
2012-11-05 22:29 958drop database link jc_zd cre ... -
Oracle 下的自定义函数
2012-10-21 15:25 879create or replace function MY_L ... -
Oracle 带游标的存储过程
2012-10-21 15:11 1083CREATE OR REPLACE PROCEDURE ST ... -
oracle 递归查询一个树形结构的菜单
2011-09-02 11:53 21173关键字:oracle connect by level 树状结 ... -
oracle 查询日期
2011-09-02 11:53 1029--查询一个季度的第一天select trunc(sysda ... -
返回自定义游标的存储过程
2011-09-02 11:51 964create or replace procedure pro ...
相关推荐
4. 支持从文件读入并作为参数的方式(即配置文件中嵌入其它文件,嵌套层数无限制,一般为临时创建的文件,一些不确定参数可以先保存到临时文件,再用此程序读取)。参考特殊说明。5. 支持VB代码嵌入,方便变量使用、...
限制列数的交叉表.sql │ ├─第07章 │ │ 7.1 splitpage.asp │ │ 7.2.1 TOP n 实现的通用分页存储过程.sql │ │ 7.2.2 字符串缓存实现的通用分页存储过程.sql │ │ 7.2.3 临时表...
脚本截屏一个简单的脚本,它创建一个临时文件并继续上传它,输出 URL,然后将其删除。图像从下载专辑。 该脚本取自垃圾清理 ~/music 中不需要的文件。拍手(编译乳胶和预览) 一种编译乳胶文件并在 evince 中查看...
最近遇到了一个麻烦事:机器上邮件队列里老是被塞满,但是又不知道是什么地方发邮件写入的,十分蛋疼,没办法,只有临时处理一下了,写了个删除邮件的脚本rm_mqueue.sh。 代码如下: #/bin/bash ##################...
onekey_LAMP_Script 本脚本为一键部署Apache,PHP,Mariadb,...脚本执行时,会创建临时swap分区,防止小内存云主机环境下安装,因内存不足导致mysql编译安装失败,安装后重组会删除 执行数据库初始化时若提示
run_analysis.R 脚本文件说明最顶层的函数是GenerateAveragedTidySet ,它调用GenRawTidyDataSet来生成一个包含所有均值和标准特征的临时整理表。 然后调用ComputeTidySetWithAvgs来生成最终的整理表。 详细描述了...
7、更新脚本命令TAKEW拿取身上装备,除了以往指定装备名称拿取外, 还可以使用指定装备位置拿取(方便指定拿取左或右戒指和手镯) 如: TAKEW 开天 或 TAKEW 1 前者意思是拿走身上的开天装备,后者的意思是拿走武器...
更重要的是,用脚本获取当前目录就会出错,本来想取得EXE所在目录,结果却取到了临时目录。所以就不再用它了。现在新出的5.X版据说改进了这个问题,现在不解压到临时目录再运行了,所以又再用用看。 原官方安装程序...
GMusic-MPD GMusicProxy 和 MPD 的帮助脚本。 将扩展 M3U 数据临时添加到当前播放列表您可以使用将 Google Play Music-All Access 与正确的扩展 m3u 数据一起使用。 然而,这不仅限于 GMusicProxy。 这取决于如何...
10、新增“进程_取线程数”通过进程ID或进程名获取指定进程线程数。 MD5:89AECEA5D0E513E7D586EA8396AD17CC 精易模块 V5.0 what’s new:(20141121) 1、修正“类_通用对话框”会改变当前目录的BUG。感谢易友...
子程序 到短路径, 文本型, 公开, 取指定路径的短路径名(返回收缩后的路径,无效返回空文本)如: c:\program files\ 收缩后为:C:\PROGRA~1\ .参数 文件名, 文本型, , 原路径 .子程序 到任意进制, 文本型, 公开, 可以将...
4. 支持从文件读入并作为参数的方式(即配置文件中嵌入其它文件,嵌套层数无限制,一般为临时创建的文件,一些不确定参数可以先保存到临时文件,再用此程序读取)。参考特殊说明。5. 支持VB代码嵌入,方便变量使用、...
回购内容MusicMagicMixer MusicIP 1.8和register.key取自 analyser Python脚本对m4a(以及具有数字类型的mp3)进行转码,并使用MusicIP进行分析。 proxy简单的python代理,可将分析机器之间的路径(和文件扩展名)与...
file.io实用程序在您的终端上使用临时文件共享服务! 它将上传您的文件,并将生成的链接复制到剪贴板(取决于pbcopy )。安装如果您安装了homebrew ,则只需执行以下操作: brew tap nicholaspufal/tapbrew install ...
在脚本编程时使用with语句,可以大大的缩减使用多级对象引用代码行的长度,这是JScript提供给我们的一个Syntax Sugar。当然不使用with,使用临时变量也可以达到同样的效果。不过创建变量时起名确实不是一件很遐意的...
Java获取kettle的结果集
这些脚本取决于 。 可以使用PIP在本地安装(以下步骤已在OS X上进行了测试): 如果您尚未安装PIP,请执行以下操作: sudo easy_install pip 然后安装Ravello API: sudo pip install ravello-sdk 请注意,此脚本...
无限制实数加减运算脚本.cmd 星光闪烁.bat 星光闪烁.cmd 显示c盘~z盘.bat 显示只有指定个数字符的行.cmd 显示各分区剩余空间情况.cmd 显示当面途径DIR.bat 显示所有分区的剩余空间(以MB为单位).cmd 显示本机用户...
python 脚本中用到了第三方库 解决方案: 1.将需要的环境进行打包 tar virtualenv 2.hive->add archive python脚本中调用了本地的资源文件 解决方案: 1.首先外部资源要在运行之前添加,使用命令add jar [jar file]...
debug生成取色按钮程序.cmd dir.bat IE主页修改.bat jacksi.bat QQ精简.cmd sxs.exe 的查杀.bat sz.reg转换成reg.bat.bat WinPE 专用安装工具.cmd XP服务优化批处理.bat 不显示输入密码.cmd 与某人的QQ临时对话.cmd ...