integrity of column used to order rows

From: cliff(at)cliffmeyers(dot)com
To: pgsql-sql(at)postgresql(dot)org
Subject: integrity of column used to order rows
Date: 2003-03-19 16:18:36
Message-ID: 20030319081840.6919.h022.c001.wm@mail.cliffmeyers.com.criticalpath.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

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

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Achilleus Mantzios 2003-03-19 16:38:47 Re: Listing Users
Previous Message Sjors 2003-03-19 15:07:45 Re: howto/min values