`
271788203
  • 浏览: 490137 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

PL/SQL开发时,异常“ORA-01722: 无效数字或者ORA-01722: invalid number”的原因分析(一)

SQL 
阅读更多

如果是字符型的列,在记录中存在非数值的值,那么在隐转换的时候就会报错
SQL> create table t (id varchar2(10));

表已创建。

SQL> insert into t values('aaa');

已创建 1 行。

SQL> commit;

提交完成。

SQL> select * from t where id = 1111;
select * from t where id = 1111
*
ERROR 位于第 1 行:
ORA-01722: 无效数字


SQL> insert into t values('11111111');

已创建 1 行。

SQL> commit;

提交完成。

SQL> select * from t where id = 111;
select * from t where id = 111
*
ERROR 位于第 1 行:
ORA-01722: 无效数字


SQL> delete from t where id = 'aaa';

已删除 1 行。

SQL> commit;

提交完成。

SQL> select * from t where id = 111;

未选定行

SQL>

分享到:
评论

相关推荐

    Oracle常用异常代码

    INVALID_NUMBER (ORA-01722) **异常描述:** 当尝试将非数字字符串转换为数值类型时触发此异常。 **解决方法:** - 在转换之前验证输入数据是否为有效的数字格式。 - 使用适当的错误处理逻辑来捕获并处理此类异常...

    预定义异常

    7. **INVALID_NUMBER (ORA-01722)** - 描述:字符到数字的转换失败。 - 举例:尝试将非数字字符串转换为数值类型。 8. **LOGIN_DENIED (ORA-01017)** - 描述:使用无效的用户名或密码登录Oracle。 - 举例:当...

    oracle错误代码大全

    #### ORA-00036: Inconsistent SQL (or PL/SQL) state - **解释**: SQL或PL/SQL状态不一致。 - **解决方案**: 检查SQL语句或PL/SQL块中的逻辑错误。 #### ORA-00037: Unable to switch between different ...

    oracle 错误一览表

    #### ORA-00034: Unable to open current PL/SQL undo tablespace - **描述**:无法打开当前的PL/SQL撤销表空间。 - **解决方法**:确认撤销表空间的路径和权限设置。 #### ORA-00035: LICENSE_MAX_USERS less than...

    oracle异常(最全异常收集)

    以上列出的Oracle异常是开发和维护Oracle数据库应用程序时常见的问题。了解这些异常的原因和解决方案有助于提高数据库应用的稳定性和效率。对于每一种异常,都应该采取相应的预防措施和处理策略,确保应用程序能够...

    oracle异常处理

    Oracle 异常处理是 PL/SQL 编程中不可或缺的一部分,它允许开发者优雅地处理程序运行时遇到的各种错误。在 PL/SQL 中,异常处理主要分为预定义异常、非预定义异常以及自定义异常。 预定义异常是 Oracle 为常见错误...

    Oracle Exception汇总(自定义Oracle异常)

    9. **INVALID_NUMBER** (ORA-01722): 当尝试将非数字字符串转换为数字时,如果转换失败,Oracle会抛出此异常。在处理数据时,需要验证输入的格式是否正确。 10. **LOGGIN_DENIED** (ORA-01017): 提供的用户名和密码...

    Oracle21个预定义异常

    在Oracle的PL/SQL编程环境中,预定义异常是开发者们必须了解的重要概念之一。Oracle为了帮助开发者有效管理程序中的错误,提供了21个预定义异常,每个异常都与特定的Oracle错误相对应。下面,我们将详细解析这21个...

    oracle异常总结

    - `INVALID_NUMBER`(ora-01722):尝试将非数字字符串转换为数字时抛出。 - `ZERO_DIVIDE`(ora-01476):执行除法运算时,若除数为0则抛出。 - `ACCESS_INFO_NULL`(ora-06530):访问未初始化的对象时抛出。 - `...

    Oracle 常用预定义异常

    7. **INVALID_NUMBER (ORA-01722)** - **描述**:当尝试将无法解析为数字的字符串转换为数字类型时触发。 - **示例场景**:例如,在输入非数字字符作为数字类型的参数时,就会触发此异常。 8. **NO_DATA_FOUND ...

    ORACLE 异常错误处理

    - `ORA-1722 Invalid-NUMBER`:转换一个数字失败。 - `ORA-6500 Storage-error`:内存不够引发的内部错误。 - `ORA-6501 Program-error`:内部错误。 - `ORA-6502 Value-error`:转换或截断错误。 - `ORA-6504 ...

    oracle常见Exception

    当尝试将非数字字符串转换为数字类型时,系统会抛出`INVALID_NUMBER`(ORA-01722)异常。 **解决方法:** 1. **验证输入**:确保所有用于数值计算的输入都是有效的数字格式。 2. **使用TRY/CATCH结构**:通过TRY/...

    PLSQL教程.doc

    - **INVALID_NUMBER** (ORA-1722) - 对非数字值进行数字运算。 - **LOGIN_DENIED** (ORA-1017) - 无效的用户名或密码。 - **NO_DATA_FOUND** (ORA-1403) - 查询未找到数据。 - **NOT_LOGGED_ON** (ORA-1012) - 尚未...

    oracle sqlplus 常用命令大全.txt

    它提供了一种简单的方式来进行 SQL 查询、执行 PL/SQL 脚本以及管理数据库环境。本文档将详细介绍 SQLPlus 中的一些常用命令及其用途。 #### 二、显示系统信息 - **命令**: `show all` - **作用**:此命令用于...

    Oracle常见错误:ORA

    另一个错误是ORA-06512,它通常伴随着PL/SQL执行过程中的堆栈跟踪,指示错误发生在哪个过程或函数的哪一行。在提供的描述中,错误发生于"MALL.PUB_YANG_LOGON_ORGAN"过程的第88行,并且这个错误触发了一系列的调用链...

    Oracle_存储过程exception异常处理大全及实例经典最终.docx

    - **INVALID_NUMBER**:尝试将非数字字符串转换为数字。 - **ZERO_DIVIDE**:除数为零的算术操作。 - **VALUE_ERROR**:值不符合预期格式或范围。 预定义异常不需要显式声明,当它们被触发时,Oracle 会自动抛出...

    Oracle例外用法实例详解

    除了以上提到的,还有诸如ZERO_DIVIDE(除数为零)、INVALID_NUMBER(无效数字格式)等预定义异常,它们都需要根据实际情况进行适当的处理。在编写PL/SQL代码时,理解并合理利用异常处理能显著提高代码的健壮性,...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    SQL(Structured Query Language)结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。同时也是数据库脚本文件的扩展名。  SQL语言主要包含5个部分  数据定义...

Global site tag (gtag.js) - Google Analytics