From: | Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)com> |
---|---|
To: | Adam Lang <aalang(at)rutgersinsurance(dot)com> |
Cc: | pgsql-sql(at)postgresql(dot)org |
Subject: | Re: copy from |
Date: | 2000-08-15 18:00:40 |
Message-ID: | Pine.BSF.4.10.10008151056120.86873-100000@megazone23.bigpanda.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Sort of. You can give the field a default value of
nextval(<sequence>) which means that if you do not specify
the column in an insert, it automatically gets the default
value which should be the next value in the sequence.
Note, that not putting the column is different from inserting a
NULL into the field.
(Example:
sszabo=# create sequence xyzseq;
CREATE
sszabo=# create table xyzseqtest ( a int default nextval('xyzseq'), b
int);
CREATE
sszabo=# insert into xyzseqtest (b) values (2);
INSERT 172188 1
sszabo=# insert into xyzseqtest (b) values (3);
INSERT 172189 1
sszabo=# select * from xyzseqtest;
a | b
---+---
1 | 2
2 | 3
(2 rows)
)
There are issues about this dealing with rules and triggers where another
row may be inserted or the default may be evaluated a second time where
you want to get the value you just inserted back, but in general it works.
On Tue, 15 Aug 2000, Adam Lang wrote:
> Hmmm... well, I don't think I have an "explicit" nextval. I created the
> table and then I did a create sequence broker_id;
>
> Are you implying that I can set the field to automatically create a nextval?
From | Date | Subject | |
---|---|---|---|
Next Message | Stephan Szabo | 2000-08-15 18:07:17 | Re: PL/PGSQL Function problem. |
Previous Message | Madel, Kurt | 2000-08-15 17:57:17 | Use a rule or a transaction |