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

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

文章来源:365jz.com     点击数:3175    更新时间: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;
/

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

发表评论 (3175人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
昵称:
最新评论
------分隔线----------------------------

快速入口

· 365软件
· 建站公司
· 杰创官网
· 建站工具

业务咨询

· 技术支持
· 服务时间:9:00-18:00
365建站网二维码

Powered by 365建站网 RSS地图 HTML地图

copyright © 2013-2022 版权所有 鄂ICP备17013400号