Numbering rows consecutively for a number of tables
1
vote
1
answer
765
views
I have a number of tables, all containing attributes
aid,bid,cid
, and xid
of type integer, other attributes may differ. For every (given) table T
, I would like to order the rows according to aid,bid,cid
ascending and update column xid
with incremented values starting with 0. What's the best way to achieve that?
My current solution involves:
- selecting table T
- openining a cursor over the ordered tuples of a table
- assigning the autoincrement value to xid
- inserting the tuple into a temporal table T_temp
- deleting all records from T
- inserting all records from T_temp
into T
Since the tables have different schemas, I programmed half of the code in PL/pgSQL
and half of the code with bash scripting.
**Question 1:** Any comments how to have it program that in pure PL/pgSQL?
**Question 2:** Any comments how to implement that more elegantly?
Asked by arthur
(888 rep)
Dec 13, 2013, 12:31 PM
Last activity: Nov 1, 2024, 02:19 AM
Last activity: Nov 1, 2024, 02:19 AM