How to insert/update larger size of data in the Oracle tables?

Manohar Kulanthai vel picture Manohar Kulanthai vel · Jan 10, 2012 · Viewed 32.4k times · Source

I want to insert large size of data that character length is more than 10,000. I used CLOB data type to each column. I can't insert/update that large data it shows following error:

ORA-01704: string literal too long

My code

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

Answer

Sathyajith Bhat picture Sathyajith Bhat · Jan 10, 2012

You'll have to assign the value to a variable & use the variable to insert the data

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

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

To make it clear: there are limits set to character strings:

you cannot have a string literal over

  • 4000 bytes in SQL
  • 32k in PLSQL

If you want to go above this, you'll have to use bind variables.