当前位置:妙知谷 >

游戏数码 >电脑 >

怎样快速解决ORACLE“ORA-01722:无效数字”报错

怎样快速解决ORACLE“ORA-01722:无效数字”报错

简介:
数据库处理的时候,我们经过会用到数据库触发器。触发器在调试的时候,由于程序逻辑、数据类型、数据库环境等,出现各种数据库触发器报错的情况。
今天给大家介绍一个像我这样初学ORACLE数据库触发器编程过程中,遇到的ORACLE数据库“ORA-01722:无效数字”报错,以及解决该问题的过程。

怎样快速解决ORACLE“ORA-01722:无效数字”报错

操作方法

(01)步骤一:触发器功能背景描述。我写的存储过程的目的是,实现当在数据库中插入一条记录的时候,将汽车编号的数据库代码转换为实际的汽车的名称。1、汽车表:包括ID,NUMBER(2)和NAME(VARCHAR2(8))字段,实现将实际的车号和数据库处理的车号的对应。2、汽车称重表:包括序号HEATID(VARCHAR2)、时间CHAREGE_TIME(DATE)、实际车号CRANEID(VARCHAR2(8))。3、触发器:实现实际车号和数据库系统车号转换功能。

(02)步骤二、打开汽车车辆表,输入按照序号条件进行查询的SQL语句,如下图。鼠标左键选中记录行1左边的黑色箭头,使用Ctrl+C进行复制操作,将该条数据复制到粘贴板。

怎样快速解决ORACLE“ORA-01722:无效数字”报错 第2张

(03)步骤三:鼠标左键选中小HEATID上边的小锁子,打开编辑功能,使用粘贴功能进行粘贴,刚才选中的数据被粘贴到数据表的第二行中,修改HEATID汽车编号为160700000。

怎样快速解决ORACLE“ORA-01722:无效数字”报错 第3张

(04)步骤四:鼠标左键选中小勾,然后按F1执行,系统报错。报错界面显示“ORA-01722:无效数字”报错,点击Yes按钮,跳转到触发器编辑调试界面。

怎样快速解决ORACLE“ORA-01722:无效数字”报错 第4张

(05)步骤五:查看触发器界面,红色字体黄色背景的语句为错误所在部位。由于程序报无效数字,重点关注表中字段数据类型,程序中涉及到从车辆表crane_ID读取name数据,复制给craneid,重点关注craneid,检查发现craneid的数据类型为CRANEID(VARCHAR2(8)),我们在数据库中的数值为“7”,为number类型,数据类型不一致,问题所在找到了。怎么解决呢?下一步进行操作解决。

怎样快速解决ORACLE“ORA-01722:无效数字”报错 第5张
怎样快速解决ORACLE“ORA-01722:无效数字”报错 第6张

(06)步骤六:根据汽车表数据对应关系,将ceaneid字段的7,按照对应关系,修改为26#,点击小锁子进行编辑,按F8执行,数据成功插入,触发器没有报错,问题解决。

特别提示

注意:“ORA-01722:无效数字”报错只是一个很小的报错提示,以上只是我这个初学ORACLE数据库的人员,遇到的问题,希望能帮到大家。

ORACLE数据库报错有多种类型,当触发器报错的时候,我们找到ORACLE报错资料,按照资料提示进行操作。

标签: 报错 oracle ORA 无效
  • 文章版权属于文章作者所有,转载请注明 https://miaozhigu.com/zh-sg/sm/diannao/j5j4ge.html