UPDATE/INSERT on multiple co-dependent tables

From: "Ferindo Middleton, Jr" <fmiddleton(at)verizon(dot)net>
To: <pgsql-sql(at)postgresql(dot)org>
Subject: UPDATE/INSERT on multiple co-dependent tables
Date: 2004-11-10 02:35:58
Message-ID: 000c01c4c6ce$03da7e70$1001a8c0@RENNYSLAPTOP
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Is it possible for an UPDATE/INSERT query string to function in such a way
that it requires two like fields in different tables to be equal to/'in sync
with' one another:

Example: I have two tables: registration & schedules....
they both record a class_id, start_date, end_date... I want to make sure
that if the schedule_id field is updated in the registration table; that
class_id, start_date & end_date fields automatically change to match the
schedules.id record in the schedules table.... I've devised a function to
handle this but pgsql recognizes the query to be 'infinitely recursive:

CREATE RULE registration_update AS
ON UPDATE TO registration
DO
UPDATE registration SET class_id = schedules.class_id WHERE new.schedule_id
= (SELECT schedules.id FROM schedules WHERE id = new.schedule_id);

What I'm doing is kind of redundant but necessary for
backwards-compatibility

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Stephan Szabo 2004-11-10 03:19:37 Re: UPDATE/INSERT on multiple co-dependent tables
Previous Message Ferindo Middleton Jr 2004-11-10 02:26:12 UPDATE/INSERT on multiple co-dependent tables