web-dev-qa-db-ja.com

Oracleテーブルに大きなサイズのデータ​​を挿入/更新するにはどうすればよいですか?

文字長が10,000を超える大きなサイズのデータ​​を挿入したい。各列にCLOBデータ型を使用しました。次のエラーが表示される大きなデータを挿入/更新できません。

ORA-01704: string literal too long

私のコード

 insert into table1 value(1,'values>10000'); 
14

値を変数に割り当て、変数を使用してデータを挿入する必要があります

DECLARE
    v_long_text CLOB;
BEGIN
    v_long_text := 'your long string of text';

    INSERT INTO table
    VALUES      (1,
                 v_long_text);
END; 

明確にするために:文字列に設定された制限があります:

文字列リテラルを超えることはできません

  • SQLで4000バイト
  • PLSQLの32k

これを上回りたい場合は、バインド変数を使用する必要があります。

21
Sathyajith Bhat