Trigger

Eyes
21 de Agosto del 2004
Tengo esto:

CREATE OR REPLACE TRIGGER UPDATE_MyTable_ID
AFTER UPDATE OF ID ON MyTable
FOR EACH ROW
BEGIN
dbms_output.put_line('TRIGGER UPDATE_MyTable_ID');
END;
/

and

sql>UPDATE MyTable SET ID = 1 WHERE ID=2;

ORA-02292: integrity constraint xxxx violated - child record found

sql>

Pero que pasa con el mensaje esperado, es decir, con la sentencia dbms_output.put_line ????
El Trigger fue ejecutado o no???

El Trigger es para hacer Cascade Update, por que ocurre este error, tengo tres triggers más y no me dan problema alguno...

Alguien podría ayudarme por favor.
Se los agradezco de antemano.

Saludos

PD:
Tengo instalado ORACLE 9.2 en Win XP.

Rodolfo Reyes
21 de Agosto del 2004
Lo que te esta diciendo es que estas violando la Integridad referencial, pues existe alguna tabla que hace referencia al registro con ID = 1.

Este trigger solo se ejecutara si el update es valido. Recuerda que tienes el trigger after update(depues de hacer el update). Y como al tratar de hacer el update te da error, ni si quiera intenta ejecutar el trigger.