create or replace package test_str_pkg
is
type text_t is record (
text varchar2(32767)
);
type text_list_t is table of text_t;
function test_str
return text_list_t
pipelined;
end test_str_pkg;
/
create or replace package body test_str_pkg
is
function test_str
return text_list_t
pipelined
is
l_text text_t;
begin
l_text.text := rpad('a', 4001, 'a');
pipe row(l_text);
end test_str;
end test_str_pkg;
/
select * from table(
test_str_pkg.test_str
);
Package created.
Package body created.
test_str_pkg.test_str
*
ERROR at line 2:
ORA-00910: specified length too long for its datatype
的字符串 这个简化的示例类似于RDS read_text_file中的逻辑。 解决方法是:
select text
from table(
rdsadmin.rds_file_util.read_text_file(
:dir,
:filename
)
)
where length(text) <= 4000
型
相关错误
请将ORA-00910与其他类似措辞的错误区分开来。
PLS-00215:字符串长度约束必须在范围(1..(32767)
declare
l_str varchar2(32768);
begin
null;
end;
/
l_str varchar2(32768); -- PLS-00215: String length constraints must be in range (1 .. 32767)
*
ERROR at line 2:
ORA-06550: line 2, column 20:
PLS-00215: String length constraints must be in range (1 .. 32767)
1条答案
按热度按时间djmepvbi1#
这些情况可能导致ORA-00910
创建表
ORA-00910最明显的可能原因是在表创建期间。
个字符
字段中大于4000个字符的管道行
也可以在执行流水线表函数时获得ORA-00910。在下面的代码中,如果l_text.text长度超过4000个字符,则将显示ORA-00910。
的字符串
这个简化的示例类似于RDS read_text_file中的逻辑。
解决方法是:
型
相关错误
请将ORA-00910与其他类似措辞的错误区分开来。
PLS-00215:字符串长度约束必须在范围(1..(32767)
ORA-06502:PL/SQL:数值或值错误:字符串缓冲区太小