2012-01-10 13 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

相关问题