物化视图、任务调度数据同步

数据同步方案

1.       物化视图(MATERIALIZED VIEW)

CREATE MATERIALIZED VIEW TEST_MATERIAL_VIEW(物化视图名)

REFRESH FORCE ON DEMAND

START WITH

TO_DATE('02-11-2012 14:24:59', 'DD-MM-YYYY HH24:MI:SS')(开始执行时间)

NEXT SYSDATE+1/1440(执行时间间隔)

AS

SELECT ID, NAME, ADDR FROM TESTTEST;(物化视图查询语句)

        

备注:本示例表示,每隔一分钟查询一次TESTTEST表中的相关字段数据,显示在物化视图TEST_MATERIAL_VIEW中,也就是说TEST_MATERIAL_VIEW中的数据更新频率是1分钟

 

2.       存储过程(PROCEDURE)+任务调度(JOB)

1PROCEDURE

CREATE OR REPLACE PROCEDURE P_HANDLEB2CCOMMAND(存储过程名)

IS

BEGIN

MERGE INTO TEST_PRO W(要更新的表格)

USING TESTTEST WW(关联数据或者表格)

ON (W.ID=WW.ID)(关联条件)

WHEN MATCHED THEN UPDATE(如果满足条件更新)

  SET W.NAME=WW.NAME,W.ADDR=WW.ADDR WHERE W.ID=WW.ID

WHEN NOT MATCHED THEN INSERT (如果不满足条件插入)

VALUES

(WW.ID,WW.NAME,WW.ADDR);

END;

2JOB

BEGIN

  SYS.DBMS_JOB.SUBMIT(JOB => :JOB,

                      WHAT => 'P_HANDLEB2CCOMMAND;',

                      NEXT_DATE => TO_DATE('02-11-2012 14:33:24', 'DD-MM-YYYY HH24:MI:SS'),

                      INTERVAL => 'SYSDATE+1/1440');

  COMMIT;

END;

 

备注本示例表示,每隔一分钟定时任务执行一次存储过程,根据ID判断要更新的表TEST_PRO是否已经存在相应数据,如果存在则按照需求更新,不存在则插入数据,保持表格TEST_PRO为增量数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值