>> а можно пример триггера, а то я тут не понимаю вообще.
>>
>> есть табличка
>>
>> (
>> id: SERIAL,
>> field: TEXT,
>> version: INTEGER
>> )
>>
>> Нужно написать триггер который будет на каждый
>>
>> UPDATE table SET field = 'bla' WHERE id = 123;
>>
>> делать инкремент version попутно.
> CREATE OR REPLACE FUNCTION incver () RETURNS TRIGGER AS $$
> BEGIN
> IF TG_OP = 'INSERT' THEN
> new.version := 1;
> ELSIF TG_OP = 'UPDATE' THEN
> new.version := old.version + 1;
> END IF;
> RETURN new;
> END;
> $$ LANGUAGE plpgsql;
а допустимо разве менять переменные внутри NEW?
ухты, я в этом направлении ничего не знал даже.
пошел читать документацию...
> CREATE TRIGGER tbl_inc_version BEFORE INSERT OR UPDATE ON tbl
> FOR EACH ROW EXECUTE PROCEDURE incver();
--
. ''`. Dmitry E. Oboukhov
: :’ : email: unera@debian.org jabber://UNera@uvw.ru
`. `~’ GPGKey: 1024D / F8E26537 2006-11-21
`- 1B23 D4F8 8EC0 D902 0555 E438 AB8C 00CF F8E2 6537