当前位置: 首页 > news >正文

湛江定制建站seo专业培训机构

湛江定制建站,seo专业培训机构,网站透明效果,怎么做带购物功能的网站PL/SQL全量同步_枯河垂钓的博客-CSDN博客 目录 增量同步 增量同步存储过程 ORACEL 独有的 增量更新 merge into 增量同步 逻辑: 用源表的数据更新目标表,数据存在则更新,数据不存在,则插入 实现的逻辑: 1. 首先判断目标表是否有源表的数据 2. 如果有,则用源表的数据更新…

PL/SQL全量同步_枯河垂钓的博客-CSDN博客

目录

增量同步 

增量同步存储过程

ORACEL 独有的 增量更新  merge into


增量同步 

逻辑: 用源表的数据更新目标表,数据存在则更新,数据不存在,则插入
实现的逻辑:
1. 首先判断目标表是否有源表的数据
2. 如果有,则用源表的数据更新目标表
3. 如果没有,则查询源表的数据,直接插入

-- 造增量数据 

INSERT INTO EMP_S(EMPNO,CREATE_DATE,UPDATE_DATE)VALUES(123,SYSDATE,SYSDATE);
INSERT INTO EMP_S(EMPNO,CREATE_DATE,UPDATE_DATE)VALUES(777,SYSDATE,SYSDATE);
COMMIT;UPDATE EMP_S S SET S.SAL=1000,S.UPDATE_DATE=SYSDATE WHERE S.EMPNO=7369;
COMMIT;
增量同步存储过程
CREATE OR REPLACE PROCEDURE SP_EMP_UPDATE (P_START_DATE IN DATE,P_END_DATE DATE)
IS
-- 创建一个游标,获取源表输入时间范围内的数据
CURSOR 
CURSOR_EMP (P_START_DATE DATE,P_END_DATE DATE) IS
SELECT 
S.EMPNO,
S.ENAME,
S.JOB,
S.MGR,
S.HIREDATE,
S.SAL,
S.COMM,
S.DEPTNO,
S.CREATE_DATE,
S.UPDATE_DATE
FROM EMP_S S
WHERE S.UPDATE_DATE >= P_START_DATE AND S.UPDATE_DATE <= P_END_DATE;V_COUNT NUMBER;
BEGIN-- 循环判断游标里,存储的目标表数据FOR X IN  CURSOR_EMP(P_START_DATE,P_END_DATE) LOOPSELECT COUNT(1)INTO  V_COUNTFROM EMP_T TWHERE T.EMPNO=X.EMPNO;IF V_COUNT=0 THEN INSERT INTO EMP_T E (
EMPNO,
ENAME,
JOB,
MGR,
HIREDATE,
SAL,
COMM,
DEPTNO,
CREATE_DATE,
UPDATE_DATE,
ETL_DATE )  
VALUES (
X.EMPNO,
X.ENAME,
X.JOB,
X.MGR,
X.HIREDATE,
X.SAL,
X.COMM,
X.DEPTNO,
X.CREATE_DATE,
X.UPDATE_DATE,
SYSDATE);
ELSE UPDATE EMP_T ESET 
E.EMPNO        =X.EMPNO,
E.ENAME        =X.ENAME,
E.JOB          =X.JOB,
E.MGR          =X.MGR,
E.HIREDATE     =X.HIREDATE,
E.SAL          =X.SAL,
E.COMM         =X.COMM,
E.DEPTNO       =X.DEPTNO,
E.CREATE_DATE  =X.CREATE_DATE,
E.UPDATE_DATE  =X.UPDATE_DATE,
E.ETL_DATE     = SYSDATE
WHERE E.EMPNO=X.EMPNO;
END IF ;
END LOOP;EXCEPTION WHEN OTHERS THENDBMS_OUTPUT.put_line(SQLERRM);END SP_EMP_UPDATE;
/

调用存储过程

BEGINSP_EMP_UPDATE(TO_DATE('20230729 00:00:00','yyyymmdd hh24:mi:ss'),TO_DATE('20230729 23:59:59','yyyymmdd hh24:mi:ss'));
END;SELECT * FROM EMP_T;
ORACEL 独有的 增量更新  merge into
MERGE INTO 目标表
USING (增量数据的查询结果集)
ON (匹配字段)
WHEN MATCHED THEN UPDATE SET -- UPDATE 和 SET 之间不需要加表名
WHEN NOT MATCHEDTHEN INSERT VALUES -- INSERT 和 VALUES 之间 不需要加 表名

merge into案例

CREATE OR REPLACE PROCEDURE SP_MERGEINTO_EMP
IS
BEGINMERGE INTO EMP_T T 
USING (
SELECT
S.EMPNO,
S.ENAME,
S.JOB,
S.MGR,
S.HIREDATE,
S.SAL,
S.COMM,
S.DEPTNO,
S.CREATE_DATE,
S.UPDATE_DATE
FROM EMP_S S
)  E -- 查询源表的结果集
ON (T.EMPNO=E.EMPNO) 
WHEN MATCHED THENUPDATE SET 
T.ENAME        =E.ENAME,
T.JOB          =E.JOB,
T.MGR          =E.MGR,
T.HIREDATE     =E.HIREDATE,
T.SAL          =E.SAL,
T.COMM         =E.COMM,
T.DEPTNO       =E.DEPTNO,
T.CREATE_DATE  =E.CREATE_DATE,
T.UPDATE_DATE  =E.UPDATE_DATE,
T.ETL_DATE     = SYSDATE
WHEN NOT MATCHED THENINSERT (T.EMPNO,T.ENAME,T.JOB,T.MGR,T.HIREDATE,T.SAL,T.COMM,T.DEPTNO,T.CREATE_DATE,T.UPDATE_DATE,T.ETL_DATE)VALUES(E.EMPNO,E.ENAME,E.JOB,E.MGR,E.HIREDATE,E.SAL,E.COMM,E.DEPTNO,E.CREATE_DATE,E.UPDATE_DATE,SYSDATE );EXCEPTION WHEN OTHERS THEN ROLLBACK;DBMS_OUTPUT.PUT_LINE(SQLERRM);END SP_MERGEINTO_EMP;  

调用

BEGINSP_MERGEINTO_EMP();
END;SELECT * FROM EMP_T;

http://www.hrbkazy.com/news/9019.html

相关文章:

  • 只做乡村旅游的网站电子商务与网络营销题库
  • 微信网站应用开发个人网站怎么做
  • 兰州公司网站制作免费的网站推广软件
  • 精准客源 获客哪里有网站推广优化
  • 福田做网站的成都seo招聘
  • 一个最简单的产品展示的asp网站应该如何做免费的拓客平台有哪些
  • 潍坊公司网站制作网站页面优化内容包括哪些
  • 做网站公司不给源码建设网站前的市场分析
  • 外贸网站建设收益西安网站公司推广
  • 自己怎么用h5做网站b站推广引流最佳方法
  • 可以注销的网站百度搜索风云榜
  • 嘉兴网站制作星讯网络科技百度青岛代理公司
  • 网站如何做关键词seo火蝠电商代运营公司
  • 做网站可以申请专利吗网站seo推广员招聘
  • 购物网站的功能板块it学校培训学校哪个好
  • 企业品牌网站建设怎么做百度seoo优化软件
  • 移动端低代码开发平台网站快速排名优化报价
  • 网站建设需求分析范例什么是白帽seo
  • 专做国外采购的网站国家中医药管理局
  • 福建网站建设营销服务机构
  • 管理网站怎么做的免费推广软件平台
  • 网站备案是在哪个部门app运营推广是干什么
  • 哈尔滨做平台网站平台公司吗杭州百度seo
  • 高仿网站源码网站建设培训机构
  • 建设公司网站需要多少天济南优化网站关键词
  • 建站平台 做网站网站友情链接的好处
  • 网站新功能演示用什么技术做的百度收录快的发帖平台
  • 顶呱呱做网站吗谷歌seo是做什么的
  • 下载的字体如何安装到wordpress北京seo招聘信息
  • 建设单位网站的重要性外链群发软件