前几天遇到一个错误号:ORA-01460。后来其他同事又遇到ORA-01461,于是一起看了一下。
主要原因就是因为SQL里面的VARCHAR2长度最大为4000,但是在PL/SQL中,就不同了,32767(单位都是byte)。如果用到的是SQL函数或者包含在DML里面,就会报这类错误。
其中,单独用SQL函数时,超限会报 ORA-01460, 放在DML里面,会报ORA-01461。
有时不小心就会混在一起了。
只要写代码的时候,稍微注意一下就可以了。
本文详细解释了在Oracle数据库中遇到的ORA-01460与ORA-01461错误的原因及区别。主要分析了SQL与PL/SQL中VARCHAR2字段长度限制的不同导致的问题。
前几天遇到一个错误号:ORA-01460。后来其他同事又遇到ORA-01461,于是一起看了一下。
主要原因就是因为SQL里面的VARCHAR2长度最大为4000,但是在PL/SQL中,就不同了,32767(单位都是byte)。如果用到的是SQL函数或者包含在DML里面,就会报这类错误。
其中,单独用SQL函数时,超限会报 ORA-01460, 放在DML里面,会报ORA-01461。
有时不小心就会混在一起了。
只要写代码的时候,稍微注意一下就可以了。
6393

被折叠的 条评论
为什么被折叠?