请教请教:在Oracle中如何创建作业,让其自动的操作数据库并执行相应的SQL语句。小生谢谢各位了!!!
定期的删除数据库中过多的冗余数据?谢谢指教! 问题点数:30、回复次数:8Top
1 楼bhyzb(蓝天)回复于 2001-12-30 10:19:38 得分 0
先写好存储过程,然后用dbms_job包进行作业的提交:
dbms_job.submit(:jobNO,'',....)
具体看帮助文档。
Top
2 楼pausing(select 人生 from data)回复于 2001-12-30 10:24:09 得分 30
你首先建一个procedure!
然后建一个job来定期执行她!
(1)CREATE OR REPLACE PROCEDURE DROPTABLE as
tmpname varchar2(50); cursor ftmp is
select table_name
from all_tables
where table_name<='to_date(to_char(sysdate,
''YYYYMMDD''))-7'
and table_name>='TMP'; begin open ftmp; Loop fetch ftmp
into tmpname; exit when ftmp%notfound; if ftmp%found then
Execute immediate 'drop
table '||tmpname; end if; end loop; close ftmp; end;
(2)
declare v_jobnum
begin
dbms_job.submit(v_jobnum,proname,sysdate,interval);
end;
第一段代码是建procedure
第二断代吗是建job
调用启动job的包proname:要执行的procedure的名字
sysdate:job执行的开始时间
interval:job执行的间隔时间Top
3 楼pausing(select 人生 from data)回复于 2001-12-30 10:25:06 得分 0
我的procedure是删除不用的表~!Top
4 楼redillntlxj(星夜无痕)回复于 2001-12-30 10:41:52 得分 0
多谢多谢!
当将这个job的包提交后他是自动的根据你所设定的时间自动启动的吗?不用人工干预的?!还有就是
sysdate:job执行的开始时间
interval:job执行的间隔时间
这两个时间的格式? Top
5 楼redillntlxj(星夜无痕)回复于 2001-12-30 10:55:50 得分 0
还有就是ftmp是什么意思?
Top
6 楼bzszp(SongZip)回复于 2001-12-30 11:14:56 得分 0
ftmp是指针名吧Top
7 楼pausing(select 人生 from data)回复于 2001-12-30 11:31:07 得分 0
是游标名!Top
8 楼redillntlxj(星夜无痕)回复于 2001-12-30 12:28:45 得分 0
duo xie ge wei !
Top




