On Sat, 28 Sep 2002 13:41:04 -0400 (EDT), Bruce Momjian <[EMAIL PROTECTED]> wrote: >Does anyone else have a common rule that would return incorrect results >using the proposed rules?
CREATE VIEW twotables AS SELECT ... FROM table1 INNER JOIN table2 ON ... ; CREATE RULE twotables_insert AS -- INSERT rule ON INSERT TO twotables DO INSTEAD ( INSERT INTO table1 VALUES (new.pk, new.col1); INSERT INTO table2 VALUES (new.pk, new.col2) ); CREATE RULE twotables_update AS -- UPDATE rule ON UPDATE TO twotables DO INSTEAD ( UPDATE table1 SET col1 = new.col1 WHERE pk = old.pk; UPDATE table2 SET col2 = new.col2 WHERE pk = old.pk ); CREATE RULE twotables_delete AS -- DELETE rule ON DELETE TO twotables DO INSTEAD ( DELETE FROM table1 WHERE pk = old.pk; DELETE FROM table2 WHERE pk = old.pk ); CREATE VIEW visible AS SELECT ... FROM table3 WHERE deleted = 0; CREATE RULE visible_delete AS -- DELETE rule ON DELETE TO visible DO INSTEAD UPDATE table3 SET deleted = 1 WHERE pk = old.pk; Servus Manfred ---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/users-lounge/docs/faq.html