2012-01-10 13 views
14

Voglio inserire grandi dimensioni di dati che la lunghezza del carattere è più di 10.000. Ho usato il tipo di dati CLOB in ogni colonna. Non posso inserire/aggiornamento che grandi quantità di dati mostra seguente errore:Come inserire/aggiornare dimensioni maggiori di dati nelle tabelle Oracle?

ORA-01704: string literal too long 

Il mio codice

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

Quale applicazione si utilizza per inserire/aggiornare i dati? SQL * Plus, PHP, Java, ...? Puoi pubblicare il tuo codice? In [Esecuzione di operazioni di stringa di base su CLOB] (http://www.java2s.com/Tutorial/Oracle/0660__Large-Objects/PerformingbasicstringoperationsonCLOBs.htm) è possibile visualizzare un campione. – danihp

+0

oracle SQL * più 10g –

+0

Dai un'occhiata al link precedente. Potrebbe essere un buon punto di partenza. – danihp

risposta

21

Dovrete assegnare il valore di una variabile & utilizzare la variabile per inserire i dati

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

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

mettere in chiaro: ci sono dei limiti fissati per stringhe di caratteri:

non si può avere una stringa letterale oltre

  • 4000 byte in SQL
  • 32k in PLSQL

Se si vuole andare di sopra di questo, dovrete usare le variabili di bind.

+0

Grazie a sathya ma se è 3,00.000 o superiore, mostra ancora un errore come ORA-06550 PL-sql-00172: stringa letterale troppo lungo –

+0

per favore dare alcuni consigli per usare le variabili di bind –

+0

Cerca usando Google, troverai un sacco di esempi http://www.java2s.com/Tutorial/Oracle/0440__PL-SQL-Statements/UsingMultipleBindVariables.htm http://psoug.org/reference/bindvars.html @ManoharKulanthaivel – Sathya

Problemi correlati