一、异常错误介绍

我们在使用oracle数据库做程序开发时,一般都会使用plsql做客户端连接查询工具,在写sql语句时plsql经常会报并非所有变量都已绑定01008这样类似的异常错误,通常我们程序员还看不出具体有什么毛病,具体错误提示见下图显示:

出现以上这种错误出现的次数多了,我们就会有经验解决了,经过我们常年的工作经验以及网友的问题汇总,得出的最终结论就是:程序员sql语句书写不严谨导致该问题的出现,有时候看似将sql写的正确无误,却漏了标点符号,或者标点符号是中文状态下的,又或者单引号双引号导致的问题。

综上异常问题所述,应广大网友需求提问,我们决定将ORA-01008展示的错误异常的情况和解决方案全部汇总一遍,将并非所有变量都已绑定的错误扼杀在摇篮中,广大程序开发者也能够通过本篇文章的总结快速查找出自己问题的所在,可谓一举两得。

二、ORA-01008:并非所有变量都已绑定原因与解决方案案例汇总

案例一:变量字段为null

解决方案:上图中的sql语句是oracle的多表联查复杂查询语句,sql语句越是复杂越容易出现错误,一开始以为上图中的type变量未定义导致的错误,后来将该变量重新定义或者删除后依然报相同的错误。

sql语句代码检查了很多遍都没有任何问题,后来想到可能是因为字段中有null数据导致的变量无法绑定,经查阅筛选数据定位到了null值的字段,将该条数据的null改为空白或者其它字符后该错误就解决了。

案例二:绑定变量不一致

解决方案:上图就是出现该错误的sql语句,当我们尝试设置参数时,当参数设置错误、绑定变量不对或者变量绑定数量出现异常的时候就会报变量没有绑定的异常。

应用plsql工具执行动态SQL语句查询或更新操作时,SQL字符串中填充的变量数与USING关键字中绑定的变量数不匹配。

案例三:不必要的标点导致并非所有变量都已绑定

解决方案:上图的代码小编在学习oracle初期自己尝试着写一个存储过程的案例代码,然后就莫名其妙的出现了标题中提到的这种错误。

小编从头到尾地多次比对了oracle数据库存储过程的语法结构,发现写的存储过程语句是没有语病问题的,只不过b => :603前面多加了一个冒号,导致变量不能绑定,将冒号去掉后sql语句就能正常运行了。

大家遇到这种错误时,第一点要做的就是检查下所有的标点符号是否多余,尤其是空格和有中文符号的情况,这种情况肉眼极其难看出来,所以大家平时书写sql语句的同时一定要养成认真的习惯。

案例四:sql语句语法错误

解决方案:上图中是一个语法有错误的sql存储过程语句,而且还有两个错误,也算是个很典型的并非所有变量都已绑定的案例了。

首先,对冒号的用法没有理解透彻,上图中标注的update修改语句中,plsql中是可以直接使用变量操作的,压根就不需要加冒号多此一举的,存储过程中做动态sql绑定变量时才是冒号的正确用法。

其次,增加数据的sql语法有问题,声明变量是什么顺序,into后面跟的字段也应该与声明变量的顺序一一对应才可以,顺序是不能混乱的。

oracle+并非所有变量,ORA-01008:并非所有变量都已绑定异常错误汇总解决方案相关推荐

  1. Oracle 并非所有变量都已绑定

    begin test.test(a => 1, b => :603); end; 执行的时候报错: Ora-01008错误:Oracle?并非所有变量都已绑定 原因是??b => : ...

  2. oracle+并非所有变量,ORA-01008: 并非所有变量都已绑定(示例代码)

    使用oracle数据库过程中,偶尔遇到 ORA-01008: 并非所有变量都已绑定 这个错误,此时应该查检sql中是否有以下情况: 1.var sql = string.Format("se ...

  3. Ora-01008错误:oracle 并非所有变量都已绑定的原因

    begin test.test(a => 1, b => :603); end; 执行的时候报错: Ora-01008错误:oracle 并非所有变量都已绑定 原因是b => :60 ...

  4. Oracle:并非所有变量都已绑定

    String sql="select * from users where username=? and pwd=?"; pstat=con.prepareStatement(sq ...

  5. # 命令行新建 job 错误: ORA-01008 并非所有变量都已绑定 。

    # 命令行新建 job 错误: ORA-01008 并非所有变量都已绑定 . 1.改正前代码: DECLARE job NUMBER; begin sys.dbms_job.submit(job =& ...

  6. 解决ORA-01008: 并非所有变量都已绑定(详解问题所在)

    将executeUpdate(sql)或executeQuery(sql)括号中的sql删除. 问题代码: public static void main(String[] args) throws ...

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

    ORA-01008: 并非所有变量都已绑定  DECLARE job NUMBER; begin   sys.dbms_job.submit(job =>:job,                ...

  8. ORA-01008:nbsp;并非所有变量都已绑定

    java.sql.SQLException: ORA-01008: 并非所有变量都已绑定 此异常为sql异常,我遇到的时候看java代码如下 public void savegdzcysxx(Gdzc ...

  9. java程序出现问题:java.sql.SQLException: ORA-01008: 并非所有变量都已绑定

    异常提示是 并非所有变量都已绑定,实际上从sql语句上看是没有问题,直接使用在数据库也是有效的,那么他为什么会报ORA-01008: 并非所有变量都已绑定,这个这个问题一般出现在sql语句,因为程序写 ...

最新文章

  1. wamp支持win10吗?怎么设置?
  2. 成人教育还是K12,对网易有道来说都很难
  3. 旧题新做:从idy的视角看数据结构
  4. java类初始化顺序_Java 类的初始化顺序
  5. 倪文迪陪你学蓝桥杯2021寒假每日一题:1.11日(2017省赛A第9题)
  6. 重写报销流程,责任链模式实现
  7. java method 注解_JAVA 注解详解及简单实例
  8. JavaScript笔记1基础
  9. 【水果识别】基于matlab GUI苹果质量检测及分级系统【含Matlab源码 519期】
  10. 华为顶级黑客整理的399本编程电子书,整整16个G,你想学的都有
  11. AB罗克韦尔PLC 、变频器、电源,软启武汉峥嵘
  12. Java基础系列:读取yml文件
  13. Windows出现“未连接到互联网代理服务器出现问题,或者地址有误。问题解决办法”
  14. 【Linux】在Xilinx平台上实现UVC Gadget(2)- 解决dwc3驱动bug
  15. 写作的必备技能,markdown的基本语法
  16. 计算机网络-HTTP协议
  17. 关于mysql百万100W数据查询优化
  18. P2P流媒体技术方案
  19. C#常用字符串加解密方法封装
  20. 数据结构二:线性表的顺序结构实现

热门文章

  1. 深度学习 图像相似度检测 资料
  2. PAT1082 射击比赛
  3. 如何手动关闭elementUI的popover
  4. C++ 算法设计:鸡兔同笼问题的多种求解方法
  5. vue写前端html,用Vue实现个人博客的前端界面
  6. Android仿QQ空间底部菜单
  7. 微信开发SDK使用教程--手机微信个人号新增好友通知服务端
  8. ActionForward详解
  9. 计算机学报在线阅读,计算机学报2010一种具有小世界网络特征的常数度结构化覆盖网络网络直径.pdf...
  10. 南湖职业学院开机自动连网脚本