Re: Sequence question

From: "John Sidney-Woollett" <johnsw(at)wardbrook(dot)com>
To: johnsw(at)wardbrook(dot)com
Cc: "Anthony Best" <abest(at)digitalflex(dot)net>, pgsql-general(at)postgresql(dot)org
Subject: Re: Sequence question
Date: 2003-12-17 08:08:05
Message-ID: 1319.192.168.0.64.1071648485.squirrel@mercury.wardbrook.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Sorry I should have added that the trigger needs to create a new keyword
record if the join in the trigger fails to locate the keyword in the
keyword table.

Hopefully you can create the trigger yourself.

The keyword table is effectively a distinct list of all keywords inserted
into the data table with the associated last allocated sequence number for
the keyword.

John

John Sidney-Woollett said:
> How about using two tables; one to hold the keyword and its (last
> allocated) sequence value, and the second to store your data as below.
>
> create table Keyword (
> keyword varchar(32),
> sequence integer,
> primary key(keyword)
> )
>
> create table Data (
> id serial,
> sequence int,
> keyword varchar(32),
> text text
> )
>
> Add a trigger to the Data table for Insert so that it joins to the
> (parent) keyword table and increments the keyword.sequence value, and
> places that into the Data.sequence value.
>
> You will get 'holes' in the keyword sequencing when you delete data from
> the Data table. If that's a problem then you will need an alternative
> design.
>
> Hope that helps.
>
> John Sidney-Woollett
>
> Anthony Best said:
>> I'm working on an idea that uses sequences.
>>
>> I'm going to create a table like this:
>>
>> id serial,
>> sequence int,
>> keyword varchar(32),
>> text text
>>
>> for every keyword there will be a uniq sequence for it eg:
>>
>> id, sequence, keyword
>> 1, 1, foo, ver1
>> 2, 1, bar, bar ver1
>> 3, 2, foo, ver2
>> 4, 2, bar, bar ver2
>> etc...
>>
>> I could have one sequence for all keyword which would be 1,3, etc... I
>> would be prefer to have them in sequence. I'm sure someone has ran into
>> this before, any ideas?
>>
>> Anthony.
>>
>>
>> ---------------------------(end of broadcast)---------------------------
>> TIP 1: subscribe and unsubscribe commands go to majordomo(at)postgresql(dot)org
>>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 8: explain analyze is your friend
>

In response to

Responses

  • Replication at 2003-12-17 08:15:04 from John Sidney-Woollett

Browse pgsql-general by date

  From Date Subject
Next Message John Sidney-Woollett 2003-12-17 08:15:04 Replication
Previous Message Marek Lewczuk 2003-12-17 07:59:03 Sequence name with SERIAL type