А почему бы не сделать вставку DEFAULT без триггера?
Например как описано здесь:
http://www.linuxshare.ru/postgresql/manual/ddl-default.html
после DEFAULT вызывать твою функцию YEAR(birth_date)
> Приветствую!
>
> Подскажите пожалуйста, как правильнее создать триггер, который
> обновляет некоторые поля обновленной или вставленной записи?
>
> т.е., например, в таблице, должно быть поле birth_year =
> YEAR(birth_date), и при вставки/обновлении записи в таблице, это
> значение должно заполняться.
>
>
> P.$.: в информиксе это делалось таким образом:
>
> CREATE TRIGGER trg_ins_sbj_1
> INSERT ON persons
> REFERENCING NEW AS new
> FOR EACH ROW (
> execute procedure my_proc(new.name, new.birth_date)
> into table.name_upper,table.birth_year);
>
> где функция my_proc возвращала несколько значений (upper для name,
> year для даты).
>
>
> Заранее спасибо!
>
--
С уважением, Виктор