sql >> Base de Datos >  >> RDS >> Oracle

Cómo insertar una cadena larga en el tipo de datos CLOB en Oracle

A continuación se proporciona un ejemplo simple para insertar una cadena larga en el tipo de datos CLOB en Oracle. No puede insertar datos directamente en el tipo de datos CLOB, debe usar la función Empty_Clob() con la cláusula de retorno en la declaración de inserción y luego usar dbms_lob.write Procedimiento para escribir los datos. Porque si intenta insertar directamente una cadena larga en la columna CLOB, obtendrá ORA-01704:error de cadena literal demasiado larga mientras inserta los datos.

Aquí está el ejemplo de bloque PL SQL para insertar una cadena larga en una tabla que tiene una columna CLOB.

[code type="SQL"] DECLARAR
v_clob   CLOB;
COMENZAR
INSERTAR EN UNA_TABLA_CLOB (srlno, c_data)
VALORES (123, EMPTY_CLOB ())
REGRESAR c_data
EN v_clob;

DBMS_LOB.write (v_clob,
LENGTH ('proporcione una cadena larga aquí'),
1,
'proporcione una cadena larga aquí');
COMMIT;
FIN;[/código]