2012-01-10 12 views
14

文字長が10,000を超える大きなサイズのデータ​​を挿入したい。 CLOBデータ型を各列に使用しました。Oracleテーブルに大きなサイズのデータ​​を挿入/更新するにはどうすればよいですか?

ORA-01704: string literal too long 

私のコード

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

データの挿入/更新にはどのようなアプリケーションを使用しますか? SQL * Plus、PHP、Java、...?コードを投稿できますか? 「CLOBでの基本的な文字列操作の実行」(http://www.java2s.com/Tutorial/Oracle/660__Large-Objects/PerformingbasicstringoperationsonCLOBs.htm)にサンプルを表示できます。 – danihp

+0

oracle SQL * plus 10g –

+0

前のリンクを参照してください。良い出発点かもしれない。 – danihp

答えて

21

あなたはデータを挿入するために変数を使用して、変数&に値を代入する必要があります:私は、大規模なデータが、それは次のようなエラーが表示されていること/更新を挿入することはできません

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

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

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

あなたがこの上に行きたい場合は、バインド変数を使用する必要がありますPLSQL

にSQLで

  • 4000バイト
  • 32Kを超える文字列リテラルを持つことはできません。

+0

sathyaに感謝しますが、もしそれが300万以上ならORA-06550のようなエラーが表示されますPL-sql-00172:文字列リテラルが長すぎます –

+0

バインド変数を使用するヒントを教えてください –

+0

Googleで検索すると、 http://www.java2s.com/Tutorial/Oracle/0440__PL-SQL-Statements/UsingMultipleBindVariables.htm http://psoug.org/reference/bindvars.html @ManoharKulanthaivel – Sathya

関連する問題