我想根据这个触发更新表:PostgreSQL触发和行更新
CREATE TRIGGER alert
AFTER UPDATE ON cars
FOR EACH ROW
EXECUTE PROCEDURE update_cars();
触发功能:
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;
触发工作正常。 cars
表更新后,hello_cars
表会更新,但每行中的状态列会更新并包含相同的新状态!它必须根据汽车ID进行更新。
我认为我的问题是在条件:WHERE OLD.ID = NEW.ID;
,但我不能说出了什么问题。
在此先感谢。
非常感谢你! – Noon 2012-04-01 05:49:38
@Shadin:不客气。请参阅[常见问题/如何问](http://stackoverflow.com/faq#howtoask)如何接受最有帮助的答案。 – 2012-04-01 07:18:43