RE: Anyone seen ROWID's added to the SELECT clause of a statement?

That most likely is the ODBC driver adjusting the select statement to
try to make sure that a primary key field is selected. The driver will
do this if the recordset is opened as being updateable. Some (all?)
ODBC drivers for Oracle will use ROWID to uniquely identify each
selected row if it is unable to determine a primary key for the table
(or may do this for all updateable selects, I cannot remember exactly).
Once they know a key for the table, then they can easily construct the
updates when the records change and this is why they add the ROWID
column to the SELECT.

Regards,

Heath

-----Original Message-----

From: oracle-l-bounce_at_freelists.org
[mailto:oracle-l-bounce_at_freelists.org] On Behalf Of Robert Freeman
Sent: Thursday, March 15, 2007 7:26 PM
To: Oracle-L_at_freelists.org
Subject: Anyone seen ROWID's added to the SELECT clause of a statement?

I have an application that everyone swears no changes have occured on,
that is adding a ROWID clause to the end of the select clause of each
SQL statement.

The application code does not appear to be doing this.
It runs through ODBC. The database does not appear to be doing this.