Обсуждение: selecting the last record from a table
I have a script that inserts a record into a table and increments the
unique field using nextval('my_sequence'). My problem is once I have
inserted the record, I'd like to select this same record and display it
so that the user knows he has actually inserted the record. I'm
wondering if there's a bit of sql to select the last record.
Thanks for your help,
Mark Tessier
MT <mt@open2web.com> writes:
> I have a script that inserts a record into a table and increments the
> unique field using nextval('my_sequence'). My problem is once I have
> inserted the record, I'd like to select this same record and display
> it so that the user knows he has actually inserted the record. I'm
> wondering if there's a bit of sql to select the last record.
SELECT * FROM mytable WHERE my_unique_field = currval('my_sequence');
-Doug
Actually when you insert into a table, PG gives allows you to fetch the
OID it just created...what
language are you using.....
Here is psql(1)'s session
Test1=> insert into test values ('something');
INSERT 36205 1
Test1=>
Doug McNaught wrote:
>MT <mt@open2web.com> writes:
>
>
>
>>I have a script that inserts a record into a table and increments the
>>unique field using nextval('my_sequence'). My problem is once I have
>>inserted the record, I'd like to select this same record and display
>>it so that the user knows he has actually inserted the record. I'm
>>wondering if there's a bit of sql to select the last record.
>>
>>
>
>SELECT * FROM mytable WHERE my_unique_field = currval('my_sequence');
>
>-Doug
>
>---------------------------(end of broadcast)---------------------------
>TIP 6: Have you searched our list archives?
>
>http://archives.postgresql.org
>
>
You might want to get the sequence before you even do the insert...
SELECT nextval('my_sequence') as id
Then do the insert with the sequence and all other operations with the
"id". Sure you might have a few holes in the sequence if you abort an
insert, but this way you dont have to mess with OID's etc.
- Ericson
On Tue, 2002-11-19 at 14:07, Doug McNaught wrote:
> MT <mt@open2web.com> writes:
>
> > I have a script that inserts a record into a table and increments the
> > unique field using nextval('my_sequence'). My problem is once I have
> > inserted the record, I'd like to select this same record and display
> > it so that the user knows he has actually inserted the record. I'm
> > wondering if there's a bit of sql to select the last record.
>
> SELECT * FROM mytable WHERE my_unique_field = currval('my_sequence');
>
> -Doug
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://archives.postgresql.org
On Tue, Nov 19, 2002 at 11:24:53AM -0800, Medi Montaseri wrote:
> Actually when you insert into a table, PG gives allows you to fetch the
> OID it just created...what
True, but access by OID on a large table can be painful, as they
aren't indexed by default.
A
--
----
Andrew Sullivan 204-4141 Yonge Street
Liberty RMS Toronto, Ontario Canada
<andrew@libertyrms.info> M2P 2A8
+1 416 646 3304 x110