我有以下 PLSQL 块,当 ln_length 为 4000 个字符或更少时成功,但在 ln_length > 4000 个字符时失败并显示“ORA-01460:未实现或不合理的转换请求”。
该块是:
DECLARE
ls_string VARCHAR2(32767);
ls_temp VARCHAR2(32767);
ln_length NUMBER := 4000;
BEGIN
ls_string := '';
FOR i IN 1..ln_length LOOP
ls_string := ls_string || 'x';
END LOOP;
SELECT REPLACE(ls_string,'bob')
INTO ls_temp FROM dual;
END;
我将如何编写一段等效的代码来处理最长为 32k 的字符串?