Oracle
 sql >> Database >  >> RDS >> Oracle

Come inserire una stringa lunga nel tipo di dati CLOB in Oracle

Di seguito viene fornito un semplice esempio per inserire una stringa lunga nel tipo di dati CLOB in Oracle. Non è possibile inserire dati direttamente nel tipo di dati CLOB, è necessario utilizzare la funzione Empty_Clob() con clausola di ritorno nell'istruzione insert, quindi utilizzare dbms_lob.write procedura per scrivere i dati. Perché se proverai a inserire direttamente una stringa lunga nella colonna CLOB, otterrai ORA-01704:stringa letterale errore troppo lungo durante l'inserimento dei dati.

Ecco l'esempio di blocco PL SQL per inserire una stringa lunga in una tabella con colonna CLOB.

[code type="SQL"] DECLARE
v_clob   CLOB;
BEGIN
INSERT INTO A_CLOB_TABLE (srlno, c_data)
VALUES (123, EMPTY_CLOB ())
RETURNING c_data
INTO v_clob;

DBMS_LOB.write (v_clob,
LENGTH ('fornire una stringa lunga qui'),
1,
'fornire una stringa lunga qui');
COMMIT;
FINE;[/codice]