Re: reading last inserted record withoud any autoincrement field

From: Scott Marlowe <scott(dot)marlowe(at)gmail(dot)com>
To: Rob Sargent <robjsargent(at)gmail(dot)com>
Cc: Osvaldo Kussama <osvaldo(dot)kussama(at)gmail(dot)com>, m_qoreishy(at)yahoo(dot)com, pgsql-sql(at)postgresql(dot)org
Subject: Re: reading last inserted record withoud any autoincrement field
Date: 2009-10-05 22:23:28
Message-ID: dcc563d10910051523x59de62c6he5cdd8d567845c10@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-sql

On Sun, Oct 4, 2009 at 1:34 PM, Rob Sargent <robjsargent(at)gmail(dot)com> wrote:
> Osvaldo Kussama wrote:
>>
>> 2009/10/4 mohammad qoreishy <m_qoreishy(at)yahoo(dot)com>
>>
>>>
>>> How can get last inserted record in a table without any autoincrement
>>> filed?
>>> I need to  frequently fetch the last inserted record.
>>> If I must use the "Cursor" please explain your solution.
>>>
>>>
>>
>>
>> RETURNING clause?
>> http://www.postgresql.org/docs/current/interactive/sql-insert.html
>>
>> Osvaldo
>>
>>
>
> It took the OP to mean last insert as in randomly in the past, not as part
> of current transaction.  My fear is OP's schema has no way of identifying
> time-of-insert, nor a monotonically increasing record id and is hoping
> postgres has a some internal value that will return the most recently
> inserted record. Without a table definition it's hard to say.

Given that he's mentioning cursors, I'm guessing he's talking about
during this session / transaction. So returning would be best. Note
that returning returns a SET of results, so that if your insert
inserts 10 rows, you'll get back 10 rows from returning.

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Erik Jones 2009-10-07 05:25:44 Re: AccessExclusiveLock on CREATE TABLE REFERENCES deadlocks (formatted better)
Previous Message Lew 2009-10-05 00:44:27 Re: Common table expression - parsing questions