Estoy probando funciones y disparadores int PostgreSQL, sin embargo, estoy teniendo un problema, cuando se activa la función es que me da un errorfunciones PostgreSQL y desencadena
ERROR: control alcanzó final del procedimiento desencadenado sin vuelta
este procedimiento en particular sólo se ejecuta una inserción en orden, así que no veo por qué se necesita un retorno
este es el script:
CREATE OR REPLACE FUNCTION forest_aud_func() returns trigger as $tree_stamp$
BEGIN
insert into Audit values('k',124,'l');
END;
$tree_stamp$
LANGUAGE plpgsql;
create trigger forest_aud_ins after insert on forest
for each row execute procedure forest_aud_func()
insert into forest values('Blue',1600,'Malta','Health Ltd')
bien, gracias, hiciste lo que dijiste, ahora me da este error: ERROR: el valor duplicado de la clave viola la restricción única "audit_pk" DETALLE: La clave (au_code) = (124) ya existe. hice clic en la tabla y 124 ya no existe ¿Alguna idea? – Karl
¿Qué transacción estás enviando cuando se produce este error? – Kuberchaun
@Karl: Aparentemente tiene una clave principal en la tabla 'audit' que infringe al insertar los valores de auditoría. Ese problema no tiene nada que ver con escribir el disparador. –