> How to find what the primary key (or UNIQUE identifier) value is > for row 5 in the recordset?
You're missing the point: as mentioned before, there is no "row 5". To update the 5th record that you've fetched, you increment a counter each time you fetch a row, and when you read #5, do an UPDATE X SET field1 = 'blarg' WHERE id = <thekeyvalue>;
It seems worth mentioning for benefit of the OPs question that there _is_ a way to get a row number within a result set. Understanding and making good use of that is an additional matter.
SELECT X.field1, Y.field2,row_number() OVER () from X, Y WHERE X.id = Y.id -- ORDER BY ____?
That row number is going to depend on the order of the query, so it might or might not have any meaning. But if you queried with a primary key and a row number, you could then tie the two together and make an update based on that.
Thank you for the info.
My problem is that I want to emulate Access behavior.
As I said - Access does it without changing the query internally (I presume).
I want to do the same with PostgreSQL.
I'm just trying to understand how to make it work for any query
I can have 3,4,5 tables, query them and then update the Nth record in the resulting recordset.