Oracle/PLSQL: mensaje de error ORA-01401

Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.

Oracle/PLSQL: mensaje de error ORA-01401

Aprenda por qué y cómo resolver los mensajes de error ORA-01401 en Oracle.

describir

Cuando encuentra un error ORA-01401, aparece el siguiente mensaje de error:

  • ORA-01401: valor insertado demasiado grande para la columna

razón

Intentó insertar un valor en una columna que excede el ancho máximo de la columna.

resolver

Las opciones para resolver este error de Oracle incluyen:

Opción 1

Corrija su SQL para truncar el valor para que se ajuste al campo. Siempre puede intentar usar la función SUBSTR para truncar el valor.

Opcion 2

Modifique la definición de la tabla para permitir valores más grandes en los campos. Esto se puede hacer con el comando ALTER TABLE.

Por ejemplo, si tiene una tabla llamada proveedores, definida de la siguiente manera:

CREATE TABLE suppliers
( supplier_id number not null,
  supplier_name varchar2(10)
);

e intenta ejecutar la siguiente instrucción INSERT:

INSERT INTO suppliers
( supplier_id, supplier_name )
VALUES
( 10023, 'Hewlett Packard' );

Recibirá el siguiente mensaje de error:

Ha definido la columna Nombre del proveedor como un varchar2 que solo puede manejar hasta 10 caracteres. Sin embargo, intenta insertar el valor “Hewlett Packard” (15 caracteres) en este campo.