Re: Retrieving oid's - Mailing list pgsql-odbc

From Alex Rhomberg
Subject Re: Retrieving oid's
Date
Msg-id GLELJGFLCHABCCPIENAMCEPDCBAA.ar@inout.ch
Whole thread Raw
In response to Retrieving oid's  ("Joseph" <lters@mrtc.com>)
List pgsql-odbc
> 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...


pgsql-odbc by date:

Previous
From: "Mathew Frank"
Date:
Subject: Change the way the ODBC driver returns 'money'
Next
From: "Alex Rhomberg"
Date:
Subject: Changing ODBC users with Access doesn't work correctly for me