Re: PLSQL Question regarding multiple inserts
От | Richard Huxton |
---|---|
Тема | Re: PLSQL Question regarding multiple inserts |
Дата | |
Msg-id | 200402291554.12814.dev@archonet.com обсуждение исходный текст |
Ответ на | PLSQL Question regarding multiple inserts ("Humble Geek" <humblegeek@rogers.com>) |
Список | pgsql-general |
On Wednesday 25 February 2004 04:11, Humble Geek wrote: > Hi all. Quick and perhaps silly question, but... > > I am using Pg 7.3. I am writing a function using pgplsql. This function > will perform multiple inserts. Let's say two of the inserts are as follows: > > -- id is primary key > insert into users (id, username) values (nextval('someSeq'),'somename'); > insert into log (id, uid, message) values (nextval('someOtherSeq'),XXX,'New > Account'); > > Assume XXX is the id from the first insert. How do I get that number? Not > currval('someSeq') - 'cause someone else may have performed an insert - > but the id for that specific insert. Sequences are safe to use in multi-user environments. That is, currval() will return the most recent value nextval() returned *in this connection*. Wouldn't be much use otherwise. The easiest way to demonstrate this is to open two psql sessions and try it for yourself. -- Richard Huxton Archonet Ltd
В списке pgsql-general по дате отправления: