Rules system

ASPU
Дата: 02.07.2004 10:00:14
1. Где почитать на русском про составление правил к Postgresql 7.3.4???
2. Возможно ли создание правила, позволяющего делать Insert в сводную таблицу или представление, состоящее из нескольких таблиц???
Sad Spirit
Дата: 02.07.2004 13:34:01
1. взять английскую доку, перевести на русский, прочитать. либо книжку купить, в какой-нибудь да есть глава.
2. да.
ASPU
Дата: 02.07.2004 15:23:35
1. В том то и вся проблема что в книгах об этом аспекте как-то забывают рассказать.
2. А как это можно реализовать??? В стандарте SQL92 говорится, что так нельзя, но с тех пор много времени прошло, да и система правил должна это как-то решать.
Sad Spirit
Дата: 02.07.2004 17:00:52
правило как раз и заключается в том, что ты объясняешь базе, как именно надо понимать вставку.

В SQL92, ЕМНИП, описаны случаи, при которых СУБД может решить это автоматически...
ASPU
Дата: 05.07.2004 10:01:48
Я так и понял, что оно в этом заключается, но где почитать про то как они составляются???
centur
Дата: 05.07.2004 21:25:19
в pgadmin III есть дока по постгре на английском в chm формате - по поиску rules versus trigger попадешь на раздел - там описано хорошо, с примерами.
в хтмле это где то в районе Server side programming
ASPU
Дата: 07.07.2004 11:02:34
Да. Там очень хорошо объясняется чем триггеры отличаются от правил, но про сами правила ОЧЕНЬ мало. ЕСлИ кто может напишите конкретно как создать правило позволяющее делать инсерт в представление составленное из 3 таблиц. ОЧЕНЬ НАДО
centur
Дата: 08.07.2004 09:19:02
http://www.postgresql.org/docs/7.4/interactive/rules-update.html
там достаточно написано.
И не надо понимать буквально, что если дали ссылку на rules versus triggers значит там оно все и написано, поднимитесь на уровень выше в документации и посмотрите по темам.
Sad Spirit
Дата: 08.07.2004 14:23:53
ASPU: клянчить нехорошо.

но на первый раз вот тебе пример:
CREATE OR REPLACE RULE three_table_view_insert AS 
ON INSERT TO three_table_view DO INSTEAD (
  INSERT INTO table_one (...) VALUES (...здесь можно использовать NEW...);
  INSERT INTO table_two (...) VALUES (...);
  INSERT INTO table_three (...) VALUES (...);
);
ASPU
Дата: 08.07.2004 15:27:28
Большое спасибо, но с этим я уже разобрался.