Bruno Wolff III wrote:
On Tue, Jun 22, 2004 at 13:40:03 -0400,
  Matthew Nuzum <[EMAIL PROTECTED]> wrote:

 The end result is to duplicate the data for a particular record in table
 "a" so that all of it's related data in tables "b" and "c" is duplicated.
Where "b" is the middle table in a many to many relationship.  For example,

- a ----    - b ----    - c ----
aid  <--+   bid  <--+   cid
data1   +-->aid     +-->bid
data2       field1      info1
date3       field2      info2

SELECT a.*,b.*,c.* from a,b,c where b.aid = a.aid and c.bid = b.bid;

So, the goal is to duplicate an object that is made up of the data stored
across these three tables.
[snip]
Offhand I can't think of a way to avoid using a procedural language to walk
through the b table so that you can easily keep track of which new bid
corresponds to which old bid. However, writing a perl script or plsql
function to do this for you shouldn't be difficult.

Screams out plpgsql to me - it's good at automating what is basically cut & paste of values.


--
  Richard Huxton
  Archonet Ltd

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

Reply via email to