我有一个包含 CLOB 字段的存储过程。当我调用具有较大值(超过 33K 个字符)的存储过程时,出现错误“PLS-00172:字符串文字太长”
我的存储过程
create or replace procedure P(c clob) is
begin
dbms_output.put_line('dbms_lob.getlength(c)');
end;
调用存储过程
declare
C CLOB := 'large text over 33k characters';
begin
P(C => C);
end;
/
Issue:
调用存储过程时抛出“PLS-00172:字符串文字太长”错误
“”是一个 varchar2-Literal,然后会自动转换为 CLOB。要将大文字转换为 clob,您可以将其拆分为不同的部分,然后将它们连接起来:
declare
c clob := TO_CLOB('First 32k characters')||TO_CLOB('Second 32k characters')||...;
begin
P(C => C);
end;
/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)