Создание триггера

aev
Дата: 20.04.2004 12:10:34
Пытаюсь повесить на триггер процедуру:

CREATE FUNCTION create_category_stats() RETURNS void AS '
INSERT INTO tr_email_category_stats (category_id) values(NEW.id);
'
language 'sql';

CREATE TRIGGER tr_email_category_after_insert AFTER INSERT ON tr_email_category
FOR EACH ROW
EXECUTE PROCEDURE create_category_stats();

Получаю:
SQL error:
ERROR: NEW used in query that is not in a rule

Где я не прав? Разве нельзя в процедуре вызываемой из триггера использовать NEW
aev
Дата: 20.04.2004 12:23:21
Или для того чтобы был доступ к переменным OLD и NEW нужно установить и использовать plpgsq?l
aev
Дата: 20.04.2004 12:38:47
Действительно - это дуступно в plpgsql
centur
Дата: 22.04.2004 08:18:09
а еще не забывате что триггерные функции должны возвращать тип trigger а не void

CREATE FUNCTION create_category_stats() RETURNS void AS '
INSERT INTO tr_email_category_stats (category_id) values(NEW.id)
eddie
Дата: 19.06.2004 02:22:43
а вообще на sql можно триггер написать? или только pl/pgsql и т.д.?
Sad Spirit
Дата: 19.06.2004 12:00:57
на sql нельзя, только процедурные языки.