create table a1(TP_END_DATE NUMBER,WK_END_DATE NUMBER,
MTH_START_DATE NUMBER,
MTH_END_DATE NUMBER,
TIME_PERD_START_DATE NUMBER); create table a2(TP_END_DATE DATE ,WK_END_DATE DATE,MTH_START_DATE DATE,MTH_END_DATE DATE,DAY_DATE DATE) ; SQL> select * from a1; TP_END_DATE WK_END_DATE MTH_START_DATE MTH_END_DATE TIME_PERD_START_DATE
----------- ----------- -------------- ------------ --------------------
19990101 19990101 19990101 19990101 29990101 SQL> select * from a2; TP_END_DA WK_END_DA MTH_START MTH_END_D DAY_DATE
--------- --------- --------- --------- ---------
01-JAN-99 01-JAN-99 01-JAN-99 01-JAN-99 01-JAN-99 BEGIN Update ADWGU_DICFR.DICFR_ORDR_CUT_FCT a
Set
TP_END_DATE =
( select TO_NUMBER(TO_CHAR((TP_END_DATE),'YYYYMMDD')) from CAL_MASTR_DIM b
where a.TIME_PERD_START_DATE= TO_NUMBER(TO_CHAR((b.DAY_DATE),'YYYYMMDD'))); Update ADWGU_DICFR.DICFR_ORDR_CUT_FCT a
Set
WK_END_DATE =
( select TO_NUMBER(TO_CHAR((WK_END_DATE),'YYYYMMDD') from CAL_MASTR_DIM b where
a.TIME_PERD_START_DATE= TO_NUMBER(TO_CHAR((b.DAY_DATE),'YYYYMMDD'))); Update ADWGU_DICFR.DICFR_ORDR_CUT_FCT a
Set
MTH_START_DATE =
( select TO_NUMBER(TO_CHAR((MTH_START_DATE),'YYYYMMDD') from CAL_MASTR_DIM b where
a.TIME_PERD_START_DATE= TO_NUMBER(TO_CHAR((b.DAY_DATE),'YYYYMMDD'))); Update ADWGU_DICFR.DICFR_ORDR_CUT_FCT a
Set
MTH_END_DATE =
( select TO_NUMBER(TO_CHAR((MTH_END_DATE),'YYYYMMDD') from CAL_MASTR_DIM b where
a.TIME_PERD_START_DATE= TO_NUMBER(TO_CHAR((b.DAY_DATE),'YYYYMMDD'))); COMMIT; END;
/ 改为merge:
merge into a1 a
using a2 b
on (a.TIME_PERD_START_DATE = TO_NUMBER(TO_CHAR((b.DAY_DATE), 'YYYYMMDD')))
WHEN MATCHED THEN
  UPDATE
     SET a.TP_END_DATE = TO_NUMBER(TO_CHAR((b.TP_END_DATE), 'YYYYMMDD')),
         a.WK_END_DATE = TO_NUMBER(TO_CHAR((b.WK_END_DATE),'YYYYMMDD')),
          a.MTH_START_DATE = TO_NUMBER(TO_CHAR((b.MTH_START_DATE),'YYYYMMDD')),
           a.MTH_END_DATE = TO_NUMBER(TO_CHAR((b.MTH_END_DATE),'YYYYMMDD'))

利用merge优化的更多相关文章

  1. 利用Merge into 改写Update SQL 一例

    前言 客户说,生产系统最近CPU使用率经常达到100%,请DBA帮忙调查一下. 根据客户提供的情况描述及对应时间段,我导出AWR,发现如下问题: 11v41vaj06pjd :每次执行消耗2,378, ...

  2. Android中利用ViewHolder优化自定义Adapter的典型写法

    利用ViewHolder优化自定义Adapter的典型写法 最近写Adapter写得多了,慢慢就熟悉了. 用ViewHolder,主要是进行一些性能优化,减少一些不必要的重复操作.(WXD同学教我的. ...

  3. 利用Gulp优化部署Web项目[长文慎入]

    Gulp Gulp是一款项目自动化的构建工具,与Grunt一样可以通过创建任务(Task)来帮助我们自动完成一些工作流的内容.当然,今天我们的内容并不是讨论这二者的区别,仅仅是介绍介绍如何利用Gulp ...

  4. 【转】利用TCMalloc优化Nginx的性能

    From: http://www.linuxidc.com/Linux/2013-04/83197.html TCMalloc的全称是 Thread-Caching Malloc,是谷歌开发的开源工具 ...

  5. 利用Select2优化@Html.ListBoxFor显示,学会用MultiSelectList

    最近需要用到多选框,Asp.Net MVC自带的@Html.ListBox或@Html.ListBoxFor的显示效果太差,于是找到了Select2进行优化,并正式了解了多选框的操作方法. 首先介绍多 ...

  6. MySQL如何利用索引优化ORDER BY排序语句

    MySQL索引通常是被用于提高WHERE条件的数据行匹配或者执行联结操作时匹配其它表的数据行的搜索速度. MySQL也能利用索引来快速地执行ORDER BY和GROUP BY语句的排序和分组操作. 通 ...

  7. MySQL如何利用索引优化ORDER BY排序语句 【转载】

    本文转载自:http://blog.csdn.net/ryb7899/article/details/5580624  .感谢相关作者. MySQL索引通常是被用于提高WHERE条件的数据行匹配或者执 ...

  8. shellcode在栈溢出中的利用与优化

    0x00 前言 在<Windows Shellcode学习笔记——shellcode的提取与测试>中介绍了如何对shellcode作初步优化,动态获取Windows API地址并调用,并通 ...

  9. 利用jsPerf优化Web应用的性能

    在前端开发的过程中,掌握好浏览器的特性进行有针对性的性能调优是一项基本工作,jsperf.com是一个用来发布基于HTML的针对性能比较的测试用例的网站,你可以在jsPerf上在线填写和运行测试用例, ...

随机推荐

  1. 编译安装 php 5.4.11

    第一步 先下载 tzr.gz 的php源码包然后 tar zxvf  php-5.4.11.tar.gz然后 cd php-5.4.11 然后复制如下编译代码 ./configure \--prefi ...

  2. jquery easyui textbox onblur事件,textbox blur事件无效解决方案

    jquery easyui textbox onblur事件,textbox blur事件无效解决方案 >>>>>>>>>>>> ...

  3. mysql case when then else end 用法

    select case when 判断条件 then 输出结果  else 输出结果 end from table

  4. jquery自调用匿名函数解析

    alert("undefined" in window);        (function (window, undefined) {            //构造jQuery ...

  5. gulp 前端自动化工具

    一开篇 在前端开发的过程中,我们经常会碰到压缩.合并.图片script 等,于是就有了gulp 前端自动化构建工具,它能帮你在前端开发中,节省时间. 1,安装 node.js 因为gulp 构建工具是 ...

  6. 分享:根据svg节点对象类型和路径值转换坐标值

    功能用处: 对svg文件的路径节点填充时会使用(相邻两个坐标区域内的四边形的填充颜色不重复). 需要对svg文件中的Path节点或者 Polyline 节点做颜色填充.并且相邻的两个区域之间的颜色不允 ...

  7. C#当中的多线程_线程基础

    前言 最近工作不是很忙,想把买了很久了的<C#多线程编程实战>看完,所以索性把每一章的重点记录一下,方便以后回忆. 第1章 线程基础 1.创建一个线程 using System; usin ...

  8. 如何获得Windows 8中已记住的WIFI的明文密码

    网上很流行的一种查看WIFI密码明文的方法,如下: 今天遇到了一种状况,就是如果不连WIFI的情况我能抓到这个密码吗?(实在不想开口问同事密码多少,只能苦逼的自己想办法了o(︶︿︶)o ) 答案当然是 ...

  9. Maven3(笔记一)

    第一节:Maven 简介 百度百科:Maven 官网:http://maven.apache.org/ 第二节:Maven 安装与配置 Maven 下载:http://maven.apache.org ...

  10. 自定义Operation

    1.要自定义一个Operation 首先要创建一个继承于NSOperation的类. 2.在创建好的类的.h文件声明自定义的方法:-(instancetype)initWithDownLoadMess ...