oracle动态创建job

CREATE OR REPLACE PROCEDURE createAnyJob AS
  SQL_in       VARCHAR2(5000);
  tableName_in varchar2(200);
  job number;
BEGIN


--1.构造动态创建job的字符串
--构造的过程中需要定一个一个number参数用来接收
--sys.dbms_job.submit函数执行后的返回值
--返回值就是被创建的job的number
  SQL_in := 
         'declare
         job number;
         begin ' || ' 
         sys.dbms_job.submit(job,' || 
         'what =>' ||'''createanytable;'',' || 
         'next_date => to_date(' ||'''24-01-2013 14:36:38'',' || '''dd-mm-yyyy hh24:mi:ss''' || '),' ||
         'interval => ' || '''sysdate+1'');' || 
         'commit;' ||
         'end;';
--测试构造的字符串是否正确
  dbms_output.put_line(SQL_in);
--执行字符串命令
  EXECUTE IMMEDIATE SQL_in;


--2.直接使用:sys.dbms_job.submit方法创建job
  sys.dbms_job.submit(
  job,
  'createanytable;',
  to_date('24-01-2013 14:36:38','dd-mm-yyyy hh24:mi:ss'),
  'sysdate+1'
  );
   
  commit;
  dbms_output.put_line('新创建的job是:'||job);
  
--注意:job的what所接收的多个值之间必须要使用";"隔开
--即便只有一个末尾也要使用分号
END;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值