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.
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 |