claramente escribi "despues de", de seguro mi ingles es malo pero nunca tanto.
Código:
CREATE FUNCTION funciona()
RETURNS trigger AS $triggera$
BEGIN
IF TG_OP = 'UPDATE' AND NEW.campo=OLD.valorcampo THEN
...
END IF;
.....
RETURN NULL;
END;
$triggera$ LANGUAGE plpgsql;
CREATE TRIGGER triggera
AFTER INSERT OR UPDATE
ON mitabla
FOR EACH ROW
EXECUTE PROCEDURE funciona();
como veras esta algo así, y funciona con el update y con el insert reclama
Consulta fallida: ERROR: record "old" is not assigned yet..
entiendo por que reclama, mi pregunta es si existe alguna manera de que no evalue la condicion
NEW.campo=OLD.valorcampo si es que falla la primera
TG_OP = 'UPDATE' como cuando programo en otro lenguaje, o hay algo mal en lo que hago, obviamente con elsif o if dentro de if funciona, pero no es la gracia???