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