您好我正在使用此声明创建一个新的plsql函数:
string_result CLOB;
string1 CLOB;
string2 CLOB;
在我的身体里,我有:
...
for i in variable
loop
string_result := string_result || string1 || string2 ;
end loop
...
--send string_result in mail
...
return 1
当我执行此功能时,我收到了:
01489。 00000 - “字符串连接的结果太长”
原因:字符串连接结果超过最大大小。
操作:确保结果小于最大尺寸。
答案 0 :(得分:2)
您可以使用DBMS_LOB.CREATETEMPORARY
和DBMS_LOB.WRITEAPPEND
。
类似的东西:
DECLARE
string_result CLOB;
BEGIN
DBMS_LOB.CREATETEMPORARY( string_result, TRUE );
FOR i IN variable LOOP
DBMS_LOB.WRITEAPPEND( string_result, LENGTH( string1 ), string1 );
DBMS_LOB.WRITEAPPEND( string_result, LENGTH( string2 ), string2 );
END LOOP;
--send string_result in mail
END;