From: cliff@cliffmeyers.com
To: pgsql-sql@postgresql.org
Subject: integrity of column used to order rows
Date: Wed, 19 Mar 2003 08:18:36 -0800 (PST)
Message-ID: <20030319081840.6919.h022.c001.wm@mail.cliffmeyers.com.criticalpath.net> (raw)
hello,
I was hoping someone might be able to help me with this problem...
I have a table that is essentially joined back to a parent table. I have a
column in the child table called "rank" that is a simple integer data type, used
to indicate the order that the child elements should be displayed in.
What I want to be able to do is make sure that at all times the child records
linked to a parent record have values for the "rank" field that are consecutive
starting at 1, ie (1,2,4,5,6) not (1,2,4,5,7).
Can someone offer the best suggestion to do this?
Should I write a PL/pgsql function and add it as a column constraint to check to
make sure the numbers are consecutive?
Can I use some kind of trigger that will execute a function and "automatically"
give the fields the correct number? Would this seriously impact the performance
since it would have to go through what might become a large table only to work on
a small part of it (ie, records with the same parent_id)?
I have a lot of experience with mySQL but a lot of these more sophisticated pgSQL
features are a little tough for me to get a handle on immediately... thanks very
much.
-Cliff
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: cliff@cliffmeyers.com
Subject: Re: integrity of column used to order rows
In-Reply-To: <20030319081840.6919.h022.c001.wm@mail.cliffmeyers.com.criticalpath.net>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox