Re: Using nextval(seq) in more than one column

From: "A(dot) Kretschmer" <andreas(dot)kretschmer(at)schollglas(dot)com>
To: pgsql-novice(at)postgresql(dot)org
Subject: Re: Using nextval(seq) in more than one column
Date: 2007-10-10 12:42:21
Message-ID: 20071010124221.GK9541@a-kretschmer.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

am Wed, dem 10.10.2007, um 8:18:33 -0400 mailte Sean Davis folgendes:
> I am trying to design some tables that have keys that look like:
>
> ASDF-####
>
> where #### should be derived from a sequence. However, I would like the
> primary key to be an integer for speed of indexing, etc. I don't see a
> way using standard DDL followed by inserts to have the #### be the same
> number as the integer primary key. Is that the case?
>
> In other words, I would like the rows to look like:
>
> 1 ASDF-1 ....
> 2 ASDF-2 ....

Do you mean something like this:

test=# create table asdf (id serial primary key, foo text);
NOTICE: CREATE TABLE will create implicit sequence "asdf_id_seq" for serial column "asdf.id"
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "asdf_pkey" for table "asdf"
CREATE TABLE
test=*# insert into asdf (foo) values ('foo1');
INSERT 0 1
test=*# insert into asdf (foo) values ('foo2');
INSERT 0 1
test=*# insert into asdf (foo) values ('foo3');
INSERT 0 1
test=*# select id, 'ASDF-'||id::text, foo from asdf;
id | ?column? | foo
----+----------+------
1 | ASDF-1 | foo1
2 | ASDF-2 | foo2
3 | ASDF-3 | foo3
(3 rows)

Andreas
--
Andreas Kretschmer
Kontakt: Heynitz: 035242/47150, D1: 0160/7141639 (mehr: -> Header)
GnuPG-ID: 0x3FFF606C, privat 0x7F4584DA http://wwwkeys.de.pgp.net

In response to

Browse pgsql-novice by date

  From Date Subject
Next Message Nis Jørgensen 2007-10-10 15:28:07 Re: Using nextval(seq) in more than one column
Previous Message Sean Davis 2007-10-10 12:18:33 Using nextval(seq) in more than one column