读书人

创建定时任务的时候图形化界面生成的

发布时间: 2012-08-31 12:55:03 作者: rapoo

创建定时任务的时候,图形化界面生成的代码怎么不可以在命令窗口实现啊?
创建定时任务的时候,通过图像话界面的方法,如下:



产生了如下的代码:

SQL code
begin  sys.dbms_job.submit(job => :job,                      what => 'pro_job;',                      next_date => to_date('12-08-2012 16:48:59', 'dd-mm-yyyy hh24:mi:ss'),                      interval => 'sysdate+1/24');  commit;end;/

我单击“应用”的时候,后来验证,创建的定时任务可以使用。
但是当我把上述代码放到命令窗口,并加上job变量的声明的时候,
SQL code
declare job number;

一直提示下面的错误:
ORA-01008: 并非所有变量都已绑定。后来上网查找之后,才知道,只要吧job前面的“:”去掉就可以了。
所以我就想不通了,为什么通过图形化界面生成的PL/SQL程序块必须要修改之后才可以使用呢?
谢谢!

[解决办法]
冒号的含义是引用“宿主”的变量,你直接写在declare 下面这就是 plsql匿名块自己的变量了,当然不需要冒号

你直接在sqlplus 里面
SQL code
[TEST@myoracle] SQL>var job number;
[解决办法]
直接输入JOB号就可以了,为什么还用变量,实现方式都一样,传入个JOB号
[解决办法]
SQL code
begin  select count(*) into :job from scott.emp;end;
[解决办法]
这种问题不能纠结楼主。

读书人网 >oracle

热点推荐