записи "new" не присвоено значение

Доброго дня,
создаю простенький триггер в академических целях,
нужно чтоб при добавлении новой записи в поле opdate заносилась текущая дата,
но при вставке нового значения вылетает ошибка "записи "new" не присвоено значение"
Подскажите пожалуйста где я ошибся?

CREATE OR REPLACE FUNCTION add_to_log() RETURNS TRIGGER AS '
BEGIN
if NEW.id_operation is not null then
Update Operation set opdate = current_date where Id_Operation = NEW.Id_Operation;
end if;
END;
' LANGUAGE plpgsql STABLE;

CREATE TRIGGER s_bi
AFTER INSERT ON "Test"."Operation" FOR EACH statement
EXECUTE PROCEDURE add_to_log ()

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Посмотрите пример

Посмотрите пример триггера:
http://postgresql.ru.net/manual/plpgsql-trigger.html
возможно станет понятно

Спасибо! И уточните пожалуйста.

Я правильно понял, что ставить нужно было не for each statment, а for each row?

И это тоже

И это тоже

если не слжно

Если не сложно, укажите и на остальные ошибки, не хочется наступать на эти грабли еще раз...

Я же не зря вам привёл пример

Я же не зря вам привёл пример из документации. Сравните и увидите. Например, посмотрите, что возвращается в RETURN у вас и в примере.

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Back to top

(С) Виктор Вислобоков, 2008-2023