次の 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 までの文字列に対応する同等のコードをどのように作成すればよいでしょうか?