创建临时表-定时刷数据的存储过程及定时job
2015-01-26 14:03
344 查看
-- 创建临时表-定时刷数据的存储过程 _练习
create table test_gp(
org_name varchar2(50),
org_id varchar2(10),
agency_type varchar2(20),
xm_id varchar2(20),
lastUpdate date default sysdate
);
select * from test_gp;
begin
pd_test_gp;
end;
create or replace procedure pd_test_gp as
v_data_time_start date;
v_data_time_end date;
begin
v_data_time_start := sysdate - 1 / 3;
v_data_time_end := sysdate;
merge into siebel.test_gp dest
using (select ext.name, ext.row_id, xm.type,xm.row_id xm_id
from s_org_ext ext, s_org_ext_xm xm
where xm.par_row_id = ext.row_id
and xm.type in ('Agency', 'PA Agency Detail')
and ((ext.last_upd between v_data_time_start and v_data_time_end) or
(xm.last_upd between v_data_time_start and v_data_time_end))
) src
on (dest.org_id = src.row_id and dest.xm_id=src.xm_id)
when not matched then
insert
(org_id, org_name, agency_type,xm_id)
values
(src.row_id, src.name, src.type,src.xm_id)
when matched then
update set dest.org_name = src.name,dest.lastUpdate=sysdate where org_id = src.row_id;
commit;
end pd_test_gp;
--创建scheduler_练习
begin
begin
DBMS_SCHEDULER.drop_job('UPD_TEST_GP_JOB');
EXCEPTION
WHEN OTHERS THEN
NULL;
end;
DBMS_SCHEDULER.create_job(JOB_NAME => 'UPD_TEST_GP_JOB',
JOB_TYPE => 'PLSQL_BLOCK',
JOB_ACTION =>'BEGIN PD_TEST_GP; END;',
START_DATE => sysdate,
REPEAT_INTERVAL => 'freq = minutely; interval=10',
COMMENTS =>'更新TEST_GP表信息');
DBMS_SCHEDULER.enable('UPD_TEST_GP_JOB');
end;
select * from all_scheduler_jobs;
create table test_gp(
org_name varchar2(50),
org_id varchar2(10),
agency_type varchar2(20),
xm_id varchar2(20),
lastUpdate date default sysdate
);
select * from test_gp;
begin
pd_test_gp;
end;
create or replace procedure pd_test_gp as
v_data_time_start date;
v_data_time_end date;
begin
v_data_time_start := sysdate - 1 / 3;
v_data_time_end := sysdate;
merge into siebel.test_gp dest
using (select ext.name, ext.row_id, xm.type,xm.row_id xm_id
from s_org_ext ext, s_org_ext_xm xm
where xm.par_row_id = ext.row_id
and xm.type in ('Agency', 'PA Agency Detail')
and ((ext.last_upd between v_data_time_start and v_data_time_end) or
(xm.last_upd between v_data_time_start and v_data_time_end))
) src
on (dest.org_id = src.row_id and dest.xm_id=src.xm_id)
when not matched then
insert
(org_id, org_name, agency_type,xm_id)
values
(src.row_id, src.name, src.type,src.xm_id)
when matched then
update set dest.org_name = src.name,dest.lastUpdate=sysdate where org_id = src.row_id;
commit;
end pd_test_gp;
--创建scheduler_练习
begin
begin
DBMS_SCHEDULER.drop_job('UPD_TEST_GP_JOB');
EXCEPTION
WHEN OTHERS THEN
NULL;
end;
DBMS_SCHEDULER.create_job(JOB_NAME => 'UPD_TEST_GP_JOB',
JOB_TYPE => 'PLSQL_BLOCK',
JOB_ACTION =>'BEGIN PD_TEST_GP; END;',
START_DATE => sysdate,
REPEAT_INTERVAL => 'freq = minutely; interval=10',
COMMENTS =>'更新TEST_GP表信息');
DBMS_SCHEDULER.enable('UPD_TEST_GP_JOB');
end;
select * from all_scheduler_jobs;
相关文章推荐
- 在存储过程中创建临时表来重构数据
- Script:创建一个job,通过存储过程定期删除数据的脚本
- 关于sql server 在存储过程中创建临时表,并往临时表中插入数据时出现乱码的问题
- C#中读取存储过程中临时表中的数据的写法
- DB2存储过程--创建临时表,返回临时表集合
- [置顶] Oracle job procedure 存储过程定时任务
- sqlserver数据导入mysql八: 把sqlserver中的存储过程注释后创建到mysql中(留着人工修改)
- Oracle job procedure 存储过程定时任务
- ORACLE—定时能删除数据的存储过程
- 在存储过程中创建一临时表
- Java调用oracle存储过程通过游标返回临时表数据
- sqlserver数据导入mysql八: 把sqlserver中的存储过程注释后创建到mysql中(留着人工修改)
- C#中读取存储过程中临时表中的数据的写法
- MySQL动态创建表,数据分表的存储过程
- cron job的方式定时备份Redis的数据文件,并将备份文件copy到安全的磁盘介质中。创建一个定期任务(cron job)
- Scott Mitchell 的ASP.NET 2.0数据教程之67:在TableAdapters里创建新的存储过程
- oracle创建定时job,job调用存储过程,批量查询,批量修改,自定义数据类型,
- 在存储过程中利用游标创建临时表的方法
- Oracle job procedure 存储过程定时任务
- Oracle job procedure 存储过程定时任务