Buenos dias.
A todos los foreros.
Miren les comento lo siguiente:
Tengo dos tablas una se llama cuentas y la otra se llama historial (campos: idusurio,idcliente,accion).
Lo que quiero hacer es que me diante un trigger al momento que se inserte o elimine, automaticamente se inserte en la tabla de historial.
Ya he hecho el script del la funcion y del trigger pero al momento de insertar en la tabla cuentas me manda un error en la funcion, y por lo que tampoco deja insertar en la tabla cuentas; aqui les dejo el error que me manda:
ERROR: no existe la columna <<DELETE>>
LINEA 1: SELECT $1 = "DELETE"
^
CONSULTA: SELECT $1 = "DELETE"
CONTEXTO: PL/pgSQL function "respaldo_cuentas" line 3 at IF
Y este es el codigo de la funcion y del trigger:
CREATE FUNCTION respaldo_cuentas()
RETURNS TRIGGER AS
' DECLARE mi_evento varchar;
BEGIN
IF TG_OP = "DELETE" THEN
mi_evento:="elimino";
ELSEIF TG_OP = "INSERT" THEN
mi_evento:="inserto";
END IF;
INSERT INTO historial VALUES (now(), old.idusuario,old.idcliente, mi_evento);
RETURNS null;
END;' LANGUAGE plpgsql;
CREATE TRIGGER backup_cuentas
AFTER delete or insert
on cuentas
for each row execute procedure respaldo_cuentas();
De antemano les agradesco la ayuda.
Saludos!!!!!!