ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 删除一个JOB需要提交

删除一个JOB需要提交

原创 Linux操作系统 作者:cc59 时间:2006-10-08 00:00:00 0 删除 编辑


删除一个JOB需要提交

一般来说,执行一个存储过程是不需要COMMIT的。但是DBMS_JOB.REMOVE有例外:

按文档中的描述是:You must issue a COMMIT statement immediately after the statement.

版本:10.2.0.1
windows
今天在做一个测试的时候发现的,
记录一下:


会话1:
SQL> variable job number;
SQL> begin
2 dbms_job.submit(:job,'ab;',sysdate,'sysdate+1');
3 commit;
4 end;
5 /
SQL> col what format a10;
SQL> select job,what from user_jobs;

JOB WHAT
---------- ----------
2 ab;

SQL> exec dbms_job.remove(2);

PL/SQL 过程已成功完成。

SQL> rollback;

回退已完成。

SQL> select job,what from user_jobs;

JOB WHAT
---------- ----------
2 ab;

SQL> exec dbms_job.remove(2);

PL/SQL 过程已成功完成。

SQL> select job,what from user_jobs;

未选定行

SQL>

会话2:
SQL> select job from dba_jobs;

JOB
----------
2

SQL>

会话1:
SQL> commit;

提交完成。

SQL> select job,what from user_jobs;

未选定行

会话2:
SQL> select job from dba_jobs;

JOB
----------

SQL>

试一下回滚:

SQL> variable job number;
SQL> begin
2 dbms_job.submit(:job,'ab;',sysdate,'sysdate+1');
3 commit;
4 end;
5 /

PL/SQL 过程已成功完成。

SQL> select job from dba_jobs;

JOB
----------
21

SQL> exec dbms_job.remove(21);

PL/SQL 过程已成功完成。

SQL> select job from dba_jobs;

未选定行

SQL> rollback;

回退已完成。

SQL> select job from dba_jobs;

JOB
----------
21

SQL>

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/104152/viewspace-139972/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2007-12-21

  • 博文量
    132
  • 访问量
    308421