Thread: Retrieving oid's

Retrieving oid's

From
"Joseph"
Date:
Is there anyway to get the oid of the just previously inserted record?

Say I do INSERT INTO FOO VALUES ('9');

Can I ask the odbc somehow what the oid was?

Access 97
PostgreSQL 7.1.2


respectfully,
Joseph

Re: Retrieving oid's

From
"Alex Rhomberg"
Date:
> Is there anyway to get the oid of the just previously inserted record?
>
> Say I do INSERT INTO FOO VALUES ('9');
>
> Can I ask the odbc somehow what the oid was?

If you need this to prevent the record being read-only in access (or
#deleted or something), the trick is to insert a timestamp field as a unique
key in all tables.
On every form that could create a new record, you add a hidden field for the
timestamp and give it a default value of 'localtime' (or whatever the
current time is in VB). This way, Access knows the value of the primary key
from the start and is able to retrieve the record immediately after
insertion.

- Alex

PS: While this is the method that I have implemented after reading it on the
net, an IMHO more elegant value than localtime for the primary key would be
SELECT nextval('some_sequence');
More compact and legible and GUARANTEED to be unique.
Of course the timestamp has an added benefit: It shows the time when a
record was entered...