我测试存储过程,将参数填入后,点击调试,结果提示ora-01480错误。
我估计是参数大小超过了变量范围。我调整了参数的长度,当参数长度为1843字节的时候就不会报错。我看了一下程序,这个变量是varchar2类型,varchar2应该能容纳4000字节啊。这是什么原因啊?
我估计是参数大小超过了变量范围。我调整了参数的长度,当参数长度为1843字节的时候就不会报错。我看了一下程序,这个变量是varchar2类型,varchar2应该能容纳4000字节啊。这是什么原因啊?
2:你传入了什么样的参数?
--比较一下:SQL> select length('测试123字符') from dual;LENGTH('测试123字符')
---------------------
7SQL> select lengthb('测试123字符') from dual;LENGTHB('测试123字符')
----------------------
11SQL>
NLS_CHARACTERSET:ZHS16GBK
NLS_NCHAR_CHARACTERSET:AL16UTF16参数是包含字母、数字、汉字、以及|和^这样的符号,还有▲★之类的字符。
我用select length('') from dual 测试了整个参数长度是2683,当我截取到1843个字节的时候才不报错。可能是什么原因啊?