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

¿Cómo retroceder cuando ocurre un error al ejecutar el comando sql loader?

No puede retroceder desde SQL*Loader, se confirma automáticamente. Esto se menciona en los errors descripción del parámetro:

En una carga de una sola tabla, SQL*Loader finaliza la carga cuando los errores superan este límite de errores. Sin embargo, cualquier dato insertado hasta ese punto se confirma.

Y hay una sección sobre cargas interrumpidas.

Podría intentar cargar los datos en una tabla provisional y, si tiene éxito, mover los datos a la tabla real (con delete/insert into .. select .. , o con un intercambio de partición si tiene una gran cantidad de datos). O podría usar una tabla externa y hacer lo mismo, pero necesitaría una forma de determinar si la tabla tiene registros descartados o rechazados.