error en trigger
estoy intentando hacer este trigger:Programe ahora un disparador a nivel de fila de tipo BEFORE sobre la tabla de PaÃses,
que al borrar cada paÃs inserte en la tabla CTRL_PAISES los valores correspondientes
de usuario y fecha, y en el atributo OPERACION insertará el valor \'BEFORE DELETE
fila: PPPP con capital en CCCC\'. Los valores de PPPP y CCCC serán los
valores del paÃs y su capital correspondientes a la fila afectada. Para comprobar su
funcionamiento borre un paÃs y posteriormente examine la tabla CTRL_PAISES.
solo se me ocurre este modo de hacerlo, pero me da errores de compilacion y no los encuentro.
CREATE OR REPLACE TRIGGER ej21
before delete ON paises FOR EACH ROW
BEGIN
insert into gestor.ctrl_paises(usuario,fecha,operacion)
values (user,sysdate,\'before delete fila \'||:old.pais||\' con capital en \'||:old.capital);
END;
a ver si m podeis ayudar. Gracias.
que al borrar cada paÃs inserte en la tabla CTRL_PAISES los valores correspondientes
de usuario y fecha, y en el atributo OPERACION insertará el valor \'BEFORE DELETE
fila: PPPP con capital en CCCC\'. Los valores de PPPP y CCCC serán los
valores del paÃs y su capital correspondientes a la fila afectada. Para comprobar su
funcionamiento borre un paÃs y posteriormente examine la tabla CTRL_PAISES.
solo se me ocurre este modo de hacerlo, pero me da errores de compilacion y no los encuentro.
CREATE OR REPLACE TRIGGER ej21
before delete ON paises FOR EACH ROW
BEGIN
insert into gestor.ctrl_paises(usuario,fecha,operacion)
values (user,sysdate,\'before delete fila \'||:old.pais||\' con capital en \'||:old.capital);
END;
a ver si m podeis ayudar. Gracias.
el fallo estaba en la linea values:
values (user,sysdate,'before delete fila \'||:old.pais||' con capital en \'||:old.capital);
has dejado la barra fuera de las ' '.
values (user,sysdate,'before delete fila \'||:old.pais||' con capital en \'||:old.capital);
has dejado la barra fuera de las ' '.
