2012-12-12 23 views
2

我必须在Oracle 10g中安排存储过程吗?如何在oracle 10g中安排一个过程?

承担

create table t1(name varchar2(10)); 
insert into t1 values('hi'); 

create or replace procedure insertname 
as 
begin 
insert into t1 values('hi'); 
end; 

我现在的要求是锁具上午11时在我的程序必须被自动执行。

我该如何实现它。

其实我研究了dbms_scheduler.create_job。但我无法实现它可以任何机构解释我如何安排我的存储过程。

在此先感谢

回答

1

看一看这里: http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_sched.htm

或方式更好的例子: http://www.apex-at-work.com/2009/06/dbmsscheduler-examples.html

对你有意思的部分(简单地改变job_action)

dbms_scheduler.create_job ( 
job_name   => 'TEST_JOB', 
job_type   => 'PLSQL_BLOCK', 
job_action   => 'begin /* some process code */ commit; end;', 
number_of_arguments => 0, 
start_date   => sysdate +1/24/59, -- sysdate + 1 minute 
job_class   => 'ADMIN', -- Priority Group 
enabled    => TRUE, 
auto_drop   => TRUE, 
comments   => 'Testrun'); 
+0

Najzero,我必须在job_action中写入代码以代替某些进程代码 – sentil

+0

你可以把你的过程的实际代码放在那里(如果它真的很小)或者简单地添加你的过程调用,比如'BEGIN schema.procedurename;承诺; END;' – Najzero

+2

@Najzero你想添加重复,否则该作业将只运行一个。即'repeat_interval =>'freq = daily; byhour = 11; byminute = 0; bysecond = 0',' – DazzaL