您现在的位置: 365建站网 > 365学习 > Oracle 错误 ORA_01008 并非所有变量都绑定的解决方法

Oracle 错误 ORA_01008 并非所有变量都绑定的解决方法

文章来源:365jz.com     点击数:531    更新时间:2017-12-17 10:00   参与评论



问题描述:

oracle学习新手,最近在学习函数与存储过程,在建立一个函数后,进行调用的时候一直显示有误,但检查代码未发现有任何问题,错误显示如下:

 

 

问题解决:

问题竟然出在空格问题上:在into: 与id   之间多了个空格符,所以显示有错误的产生,直接就无奈了

 

ora-01008的问题是更新语句中,可以直接使用PL/SQL的变量,不需要加冒号。
加上冒号是动态sql绑定变量的用法。

另外,SELECT语句有两个字段,在into语句中也需要两个对应的变量。



DECLARE job NUMBER;
begin
  sys.dbms_job.submit(job =>:job,
                      what => 'docontractreports;',
                      next_date => to_date('05-11-2010', 'dd-mm-yyyy'),
                      interval => 'trunc(sysdate, ''HH24'') + 1/2');
 SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(job));                      
  commit;
end;
/

ORA-01008: 并非所有变量都已绑定

经查询,是因为多了个冒号"
:", 把冒号去掉就ok 了。
改正后
DECLARE job NUMBER;
begin
  sys.dbms_job.submit(job =>job,    --注意:此处没有冒号了
                      what => 'docontractreports;',
                      next_date => to_date('05-11-2010', 'dd-mm-yyyy'),
                      interval => 'trunc(sysdate, ''HH24'') + 1/2');
 SYS.DBMS_OUTPUT.PUT_LINE('Job Number is: ' || to_char(job));                      
  commit;
end;
/

如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛


发表评论 (531人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换图片
最新评论
------分隔线----------------------------
大家感兴趣的内容
最近更新的内容