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

Oracle inserta automáticamente el registro en el bloque multiregistro parte 2

DUPLICATE_RECORD es un procedimiento restringido y no puede usarlo en WHEN-VALIDATE-RECORD gatillo (o cualquier otro del mismo tipo).

Como tienes que navegar al siguiente registro (si quieres copiarlo), aunque pongas ese procedimiento restringido en otra unidad de programa PL/SQL, todo simplemente propagará y, en última instancia, generar el mismo error. Así que... no tienes suerte.

Incluso si escribió un procedimiento (almacenado) que insertaría esa fila "Jr" en la base de datos en algún lugar detrás de la escena, tendría que buscar esos valores en la pantalla. Como EXECUTE_QUERY es la forma de hacerlo, y como es (otro más) procedimiento restringido, tampoco funcionará.

Si planeaba borrar el bloque de datos y llenarlo manualmente (usando un bucle), tendría que navegar al siguiente (y al siguiente y al siguiente) registro con NEXT_RECORD , y eso es nuevamente un procedimiento restringido. Además, si fuera un bloque de datos (y sí lo es), en realidad crearía duplicados para todos los registros una vez que guardaría los cambios, por lo tanto, fallaría con una violación de restricción única (lo cual es bueno) o crearía duplicados (lo que es peor).

Por cierto, ¿qué pasa con WHEN-NEW-RECORD-INSTANCE ? ¿Qué problemas tienes al usarlo?