Zac*_*een 5 oracle oracle11g ora-06502
当我尝试在BLOB字段上运行dbms_lob.substr函数时,我收到以下错误:
ORA-06502:PL/SQL:数值或值错误:原始变量长度太长
ORA-06512:第1行
我的查询:
select dbms_lob.substr(my_report, 10000, 1)
from my_table where my_table.report_id = :myid
Run Code Online (Sandbox Code Playgroud)
根据dbms_lob.substr文档,我应该能够在第二个参数中使用一个值达32767,并且报告的大小超过200,000字节,因此它在该范围内.
在使用数字后,我发现我可以在量参数(第二个参数)中使用的subs值为substr函数.
有谁知道为什么?
该函数将结果作为RAW数据类型返回,RAW数据类型的最大大小为2000字节.
参考文献:
http://download.oracle.com/docs/cd/B10501_01/server.920/a96540/sql_elements2a.htm#SQLRF0021
http://dbaforums.org/oracle/index.php?showtopic=8445