Estoy tratando de actualizar una tabla de acuerdo con este disparador:PostgreSQL gatillo y filas actualizadas
CREATE TRIGGER alert
AFTER UPDATE ON cars
FOR EACH ROW
EXECUTE PROCEDURE update_cars();
disparador Función:
CREATE FUNCTION update_cars()
RETURNS 'TRIGGER'
AS $BODY$
BEGIN
IF (TG_OP = 'UPDATE') THEN
UPDATE hello_cars SET status = new.status
WHERE OLD.ID = NEW.ID;
END IF;
RETURN NULL;
END;
$$ LANGUAGE plpgsql;
El disparador funciona bien. Cuando se actualiza la tabla cars
, la tabla hello_cars
se actualiza, pero la columna de estado en cada fila se actualiza y contiene el mismo estado nuevo. Debe ser actualizado de acuerdo con una identificación de automóvil.
Creo que mi problema está en la condición: WHERE OLD.ID = NEW.ID;
pero no puedo decir lo que está mal.
Gracias de antemano.
¡Muchas gracias! – Noon
@Shadin: De nada. Consulte [Preguntas frecuentes/Cómo hacer] (http://stackoverflow.com/faq#howtoask) cómo aceptar la respuesta que más le ayudó. –