oracle - long - ora-01704 literal de cadena demasiado largo
Error: ORA-01704: cadena literal demasiado larga (3)
¿Qué estás usando cuando operas con CLOB?
En todos los eventos, puedes hacerlo con PL / SQL
DECLARE
str varchar2(32767);
BEGIN
str := ''Very-very-...-very-very-very-very-very-very long string value'';
update t1 set col1 = str;
END;
/
Mientras intento establecer el valor de más de 4000 caracteres en un campo que tiene el tipo de datos CLOB
, me da este error:
ORA-01704: cadena literal demasiado larga.
Cualquier sugerencia, qué tipo de datos sería aplicable para mí si tuviera que establecer el valor de caracteres ilimitados, aunque para mi caso, resulta ser de unos 15000
caracteres.
Nota: La cadena larga que intento almacenar está codificada en ANSI.
Intenta dividir los personajes en varios fragmentos como la consulta a continuación e intenta:
Insert into table (clob_column) values ( to_clob( ''chunk 1'' ) || to_clob( ''chunk 2'' ) );
Funcionó para mí
La división funciona hasta 4000 caracteres según los caracteres que está insertando. Si está insertando caracteres especiales, puede fallar. La única forma segura es declarar una variable.