Trigger en PL/SQL
Esta es la primera vez que trato de hacer un trigger en Oracle 7, por lo que soy bastante inexperta en PL/SQL.
Lo que trato de hacer es que antes de borrar una fila en la Tabla1 se inserten determinadas columnas de esa fila a borrar en la Tabla2. Estas tablas no tienen foreign keys entre si y yo lo hago haciendo un Before Delete on Tabla1 un insert on Tabla2. El problema es que si le pongo For Each Row me dice que la Tabla2 está mutando, y si no lo pongo, me hace el insert para todas las filas de la Tabla1 en vez de hacerlo sólo para fila que quiere borrarse.
Me gustaría saber qué puedo hacer para solucionar ésto o si hay alguna forma de identificar de forma única a la fila que se va a borrar, para poder hacer el insert de ésa solamente. Se que existen las variables :new y :old, pero si no me equivoco sólo funcionan en los updates.
Lo que trato de hacer es que antes de borrar una fila en la Tabla1 se inserten determinadas columnas de esa fila a borrar en la Tabla2. Estas tablas no tienen foreign keys entre si y yo lo hago haciendo un Before Delete on Tabla1 un insert on Tabla2. El problema es que si le pongo For Each Row me dice que la Tabla2 está mutando, y si no lo pongo, me hace el insert para todas las filas de la Tabla1 en vez de hacerlo sólo para fila que quiere borrarse.
Me gustaría saber qué puedo hacer para solucionar ésto o si hay alguna forma de identificar de forma única a la fila que se va a borrar, para poder hacer el insert de ésa solamente. Se que existen las variables :new y :old, pero si no me equivoco sólo funcionan en los updates.
1 Respuesta
Respuesta
1