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/0660__Large-Objects/PerformingbasicstringoperationsonCLOBs.htm)中,您可以查看示例。 – danihp 2012-01-10 10:36:07

+0

oracle SQL * plus 10g – 2012-01-10 10:39:51

+0

看看上一個鏈接。可能是一個很好的起點。 – danihp 2012-01-10 10:42:42

回答

21

你必須賦值給變量&使用變量來插入數據

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

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

要清楚:有設置爲字符串限制:

你不能有一個字符串在

  • 4000字節SQL
  • 32K在PLSQL

如果你想去上面這一點,你必須使用綁定變量。

+0

感謝sathya,但是如果它是3,00,000或更大,它會再次顯示像ORA-06550 PL-sql-00172這樣的錯誤:字符串文字太長 – 2012-01-10 11:29:48

+0

請給出一些使用綁定變量的提示 – 2012-01-10 11:51:47

+0

使用Google進行搜索,您會發現很多示例http://www.java2s.com/Tutorial/Oracle/0440__PL-SQL-Statements/UsingMultipleBindVariables.htm http://psoug.org/reference/bindvars.html @ManoharKulanthaivel – Sathya 2012-01-10 12:05:18

相關問題