| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > СУБД, общие вопросы > Помогите написать триггер для PostgreSQL |
| Автор: Cross 14.9.2006, 15:43 | ||||
Есть таблица cat_subcat. Ее структура такова:
Соответственно id - это каталог, subcat_id - подкаталог, level - уровень вложенности Параметр level должен определяться самостоятельно с помощью триггера. (например, если subcat_id = 0, то level = 1); как написать такой триггер? Я сделала функцию :
Ну и триггер, ее вызывающий. Но ничего не работает. В таблице cat_subcat не появляются значения level. |
| Автор: tux 15.9.2006, 06:38 | ||
| Во-первых, триггерная функция должна возвращать тип trigger, а не какой не opaque. Если конечно версия PostgreSQL не старее 7.3. Хотя новые версии заменяют opaque на trigger. Во-вторых, создать функцию - этого мало. Надо создать сам триггер.
Триггер создан или все-таки не работает сама функция? На первый взгляд в ней все нормально. |
| Автор: Cross 15.9.2006, 14:37 |
| Большое спасибо, ошибка была в типе opaque. Я подставила в функцию returns trigger as $some_name$ Потом создала сам триггер и все заработало. А до этого триггер был тоже у меня создан, но выводил warning по поводу этого opaque! |