On Thu, Jul 19, 2001 at 07:17:20PM -0700, Dado Feigenblatt wrote:
> I'm not sure if I worded the subject right, but my problem is this:
>
> I have a few entries in one table. Each row is the parent of many
> entries in a second table.
> In the second table I have a lot of entries referencing the entries on
> the first table.
> So far so good. Basic foreign key thing.
> The entries on the second table need to be numbered, but instead of a
> single sequence for all rows,
> I need a sequence per group of rows, according to their parent record.
>
> I have some ideas but they are not coming together.
> I thought of creating individual sequences for each new parent row, and
> maybe store its name in the parent row itself, so it can be accessed by
> it's children row.
> But then, how do I get a field on the second table to DEFAULT to
> nextval() on it's parent's sequence?
I have done this manally, by creating a sequence and the grabbing a unique
number from the sequence using 'SELECT nextval('seq_name'). I then use this
number in all the INSERTs.
Even though it takes one extra query, it is a simple approach and PostgreSQL
guarantees that the sequence will return unique, sequential numbers as long
as it is used consistently.
--
Henry House
OpenPGP key available from http://romana.hajhouse.org/hajhouse.asc