当前位置: 代码迷 >> Oracle管理 >> 创建定时任务的时候,图形化界面生成的代码如何不可以在命令窗口实现啊
  详细解决方案

创建定时任务的时候,图形化界面生成的代码如何不可以在命令窗口实现啊

热度:49   发布时间:2016-04-24 05:08:29.0
创建定时任务的时候,图形化界面生成的代码怎么不可以在命令窗口实现啊?
创建定时任务的时候,通过图像话界面的方法,如下:



产生了如下的代码:
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;
------解决方案--------------------
这种问题不能纠结楼主。
  相关解决方案