ДО TRIGGER не обновляет значение postgresql - PullRequest
0 голосов
/ 03 января 2019

Я пытаюсь реализовать триггер BEFORE, который обновляет поле до текущей даты, если обновляется другое поле.Несмотря на то, что обновленное значение присваивается NEW.zuletzt, всякий раз, когда я вызываю Select * from hoert, я все равно вижу старшее значение zuletzt.Вот триггерная функция:

CREATE OR REPLACE FUNCTION changedAnzhoert() RETURNS TRIGGER AS $$
DECLARE
    currDate DATE:=CURRENT_DATE;
BEGIN 
    IF OLD.anzahl<NEW.anzahl THEN
        NEW.zuletzt:=currDate;
        raise notice 'Neues Datum: %', NEW.zuletzt;
    END IF;

    RETURN NEW;
END;
$$ LANGUAGE plpgsql;

И триггер:

CREATE TRIGGER trhoertChange BEFORE UPDATE ON hoert
FOR EACH ROW EXECUTE PROCEDURE changedAnzhoert();

Когда я запускаю:

UPDATE hoert SET anzahl=anzahl+1 WHERE id=1;

Я вижу:

ВНИМАНИЕ: Neues Datum: 2019-01-03
ОБНОВЛЕНИЕ 1

1 Ответ

0 голосов
/ 03 января 2019

Вероятно, у вас есть другой триггер. В psql выполните

\d hoert 

и проверьте, является ли триггер единственным.

...