job就是一个定时器,例如:规定时间执行sql或存储过程.
下面这个实例是执行sql的job,希望对大家有所帮助.
---创建job
Declare
Job Number;
Begin
Sys.Dbms_Job.Submit(Job,
'Update Spec.Offer_Spec
Set Status_Cd = 3
Where Offer_Spec_Id In
(''135010560'', ''135010561'', ''135010562'', ''135010563'', ''135010564'',
''135010565'', ''135010566'', ''135010567'', ''135010568'', ''135010569'',
''135010570'', ''135010571'', ''135010572'', ''135010573'', ''135010574'',
''135010575'', ''135010576'', ''135010577''); commit;',----这个是要执行的sql
To_Date('30-04-2013 23:59:59',
'dd-mm-yyyy hh24:mi:ss'),-----这个事在什么时间执行
'null');------每隔多久执行一次
Dbms_Output.Put_Line(Job);
End;
Job Number;
Begin
Sys.Dbms_Job.Submit(Job,
'Update Spec.Offer_Spec
Set Status_Cd = 3
Where Offer_Spec_Id In
(''135010560'', ''135010561'', ''135010562'', ''135010563'', ''135010564'',
''135010565'', ''135010566'', ''135010567'', ''135010568'', ''135010569'',
''135010570'', ''135010571'', ''135010572'', ''135010573'', ''135010574'',
''135010575'', ''135010576'', ''135010577''); commit;',----这个是要执行的sql
To_Date('30-04-2013 23:59:59',
'dd-mm-yyyy hh24:mi:ss'),-----这个事在什么时间执行
'null');------每隔多久执行一次
Dbms_Output.Put_Line(Job);
End;
对每隔多久执行一次这个时间提供一点参考:
每天运行一次 'SYSDATE + 1'
每小时运行一次 'SYSDATE + 1/24'
每10分钟运行一次 'SYSDATE + 10/(60*24)'
每30秒运行一次 'SYSDATE + 30/(60*24*60)'
每隔一星期运行一次 'SYSDATE + 7'
不再运行该任务并删除它 NULL