データ型がCLOB
のフィールドに4000文字を超える値を設定しようとすると、次のエラーが表示されます。
ORA-01704:文字列リテラルが長すぎます。
私の場合、たぶん15000
文字。
注:保存しようとしている長い文字列は、ANSIでエンコードされています。
CLOBを操作するときに何を使用していますか?
すべてのイベントで、PL/SQLで実行できます
DECLARE
str varchar2(32767);
BEGIN
str := 'Very-very-...-very-very-very-very-very-very long string value';
update t1 set col1 = str;
END;
/
以下のクエリのように、文字を複数のチャンクに分割してみてください:
Insert into table (clob_column) values ( to_clob( 'chunk 1' ) || to_clob( 'chunk 2' ) );
それは私のために働いた。
分割は、挿入する文字に応じて4000文字まで機能します。特殊文字を挿入している場合、失敗する可能性があります。唯一の安全な方法は、変数を宣言することです。