我想根據這個觸發更新表: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