Creating JobsYou create jobs using the CREATE_JOB procedure or Enterprise Manager. When creating a job, you specify an action, a schedule, and other attributes. For example, the following statement creates a job called update_sales, which calls a stored procedure in the OPS schema that updates a sales summary table:BEGIN DBMS_SCHEDULER.CREATE_JOB ( job_name => 'update_sales', job_type => 'STORED_PROCEDURE', job_action => 'OPS.SALES_PKG.UPDATE_SALES_SUMMARY', start_date => '28-APR-03 07.00.00 PM Australia/Sydney', repeat_interval => 'FREQ=DAILY;INTERVAL=2', /* every other day */ end_date => '20-NOV-04 07.00.00 PM Australia/Sydney', job_class => 'batch_update_jobs', comments => 'My new job'); END; /
哥,能够注释下不。谢谢。我是从SQL =>ORACLE 菜鸟!
刚刚我百度看了下DBMS作业,也是可以的,请问和楼上的一样吗?那种更简便快速点呢,请问各位大侠!
create or replace procedure MYPROC as begin insert into CHENGJI values('001','测试人员','物理',20); commit; end;variable jobtest number;begin dbms_job.submit(:jobtest,'MYPROC;',sysdate,'sysdate+1/1440'); --每天1440分钟,即一分钟运行test过程一次 end;
begin dbms_job.run(:jobtest); end; 写了个例子,存储过程没问题,但是就是不执行,有哪位帮我看下,测试下哦。
查查 select * from user_jobs
用pl/sql develop工具,那里有非常简便的建立job的界面。
实在不会JOB 也可以做OS级别的定时任务
重新启动 OracleServiceORCL ,OracleOraHome90TNSListener 登陆 sql\plus ALTER SYSTEM SET job_queue_processes = 20; commit;转自: http://bbs.csdn.net/topics/270059392
variable jobtest number;
begin dbms_job.submit(:jobtest,'MYPROC;',sysdate,'sysdate+1/1440'); --每天1440分钟,即一分钟运行test过程一次 dbms_job.run(:jobtest); end;
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'update_sales',
job_type => 'STORED_PROCEDURE',
job_action => 'OPS.SALES_PKG.UPDATE_SALES_SUMMARY',
start_date => '28-APR-03 07.00.00 PM Australia/Sydney',
repeat_interval => 'FREQ=DAILY;INTERVAL=2', /* every other day */
end_date => '20-NOV-04 07.00.00 PM Australia/Sydney',
job_class => 'batch_update_jobs',
comments => 'My new job');
END;
/
create or replace procedure MYPROC as
begin
insert into CHENGJI values('001','测试人员','物理',20);
commit;
end;variable jobtest number;begin
dbms_job.submit(:jobtest,'MYPROC;',sysdate,'sysdate+1/1440'); --每天1440分钟,即一分钟运行test过程一次
end;
begin
dbms_job.run(:jobtest);
end;
写了个例子,存储过程没问题,但是就是不执行,有哪位帮我看下,测试下哦。
登陆 sql\plus
ALTER SYSTEM SET job_queue_processes = 20;
commit;转自:
http://bbs.csdn.net/topics/270059392
begin
dbms_job.submit(:jobtest,'MYPROC;',sysdate,'sysdate+1/1440'); --每天1440分钟,即一分钟运行test过程一次
dbms_job.run(:jobtest);
end;
SQL> begin
2 dbms_job.submit(:job,'InsertTable;',to_date('07-04-2011 6:00:00', 'dd-mm-yyyy hh24:mi:ss'),'SYSDATE + 1');
3 commit;
4 end;
5 /
用这个方法试试,要在命令窗口执行