Доброго дня,
создаю простенький триггер в академических целях,
нужно чтоб при добавлении новой записи в поле 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 у вас и в примере.