您的位置:首页 > 数据库 > Oracle

ORACLE 定时执行存储过程

2017-03-25 10:56 411 查看
-- 创建
create table test_lf(
test_id varchar(40) primary key,
test_name varchar(50) not null,
reate_time date
);

select t.*,t.rowid from test_lf t;

--select t.*,t.rowid from lf_201703282003 t
-- 授权
grant create table to developer

-- 创建存储过程
create or replace procedure test_lf_pro
authid current_user
as
tablename varchar(1200);
begin
-- 拼接数据库名
select 'LF_' || to_char(sysdate, 'yyyymmddhh24mm') into tablename from dual;
dbms_output.put_line('执行。。。');
-- 创建表
execute immediate  'create table '|| tablename || ' as select * from test_lf where reate_time >(sysdate-1)';

end;

-- 调用(手动)
call test_lf_pro();

-- 定时调用
declare
jobid number;
begin
-- 定时
--sys.dbms_job.submit(qqid,'LF;',sysdate,'trunc(sysdate+1)+(10*60+45)/(24*60)',true);
sys.dbms_job.submit(jobid,'test_lf_pro;',sysdate,'trunc(sysdate+1)+11/(24*60)',true);
commit;
-- 执行
dbms_job.run(jobid);
end;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: