ORA-01722: 无效数字

产生原因: 类型不匹配
我本次遇到的错误是: 类型不匹配的插入操作
错误摘录:

 DECLARE
  LS_DJXH  NUMBER(20);
  ...
BEGIN
  for v_cur in (select djxh from xxxxx) LOOP
      insert into ylcs.fp_dk_sq
        (DJXH, ...)
      values
        ('LS_DJXH', ...);

错误分析: LS_DJXH 字段类型为 number, 但是插入数据时, 误将其放在字符串中, 导致报错无效数字
修改方式: 将插入数据类型修改与定义数据类型一致

 DECLARE
  LS_DJXH  NUMBER(20);
  ...
BEGIN
  for v_cur in (select djxh from xxxxx) LOOP
      insert into ylcs.fp_dk_sq
        (DJXH, ...)
      values
        (LS_DJXH, ...);

总结: ORA-01722 通常都是类型不匹配导致, 包括赋值时类型不匹配, 比较时类型不匹配等等, 一般都是数字型与非数字型. 细心一定就可以发现、避免问题.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值