Re: asignar valor creciente

From: Arturo Munive <arturomunive(at)gmail(dot)com>
To: usuario anonimo <opinante(dot)anonimo(at)gmail(dot)com>
Cc: Postgresql <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: asignar valor creciente
Date: 2007-06-15 13:41:36
Message-ID: 46729710.6040107@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

usuario anonimo escribió:
> El 14/06/07, Arturo Munive <arturomunive(at)gmail(dot)com> escribió:
>> Hola
>> tengo una duda en como hacer lo siguiente sin usar un store procedure
>>
>> digamos que tengo una tabla con las columnas orden codigo
>> donde lso valores van asi
>> orden codigo
>> null 125
>> null 235
>> null 478
>> null 598
>> null 478
>>
>>
>> quiero actualizarla asi
>>
>> orden codigo
>> 1 125
>> 2 235
>> 3 478
>> 4 598
>> 5 478
>>
>>
>> He probado usar generate series, y consultas anidadas pero termino
>> enredandome, una idea???
>
> dbjdbc=> select * from codigos;
> codigo | orden
> --------+-------
> 125 |
> 235 |
> 478 |
> 598 |
> 478 |
>
>
> create sequence codigos_orden_seq owned by codigos.orden;
> alter table codigos alter column orden set DEFAULT
> nextval('codigos_orden_seq');
>
> update codigos set orden = DEFAULT;
>
> dbjdbc=> update codigos set orden = DEFAULT;
> UPDATE 5
> dbjdbc=> select * from codigos;
> codigo | orden
> --------+-------
> 125 | 1
> 235 | 2
> 478 | 3
> 598 | 4
> 478 | 5
Gracias hasta hi todo bien, pero cuando tengo por ejemplo

prueba=# select * from codigos;
codigo | orden
--------+-------
547 |
459 |
248 |
925 |
247 |
425 |
(6 rows)

pero quisiera que tenga algo asi

codigo | orden
--------+-------
247 | 1
248 | 2
425 | 3
459 | 4
547 | 5
925 | 6
(6 rows)

es decir como ordenar la tabla antes de la actualización?, por que
cuando en estos datos uso lo que me recomendaste entonces
coloca la secuencia pero no en los códigos ordenados, es decir la
secuencia de los números debe quedar acorde al código ordenado
ascendentemente.

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Oswaldo Hernández 2007-06-15 14:25:27 Re: asignar valor creciente
Previous Message Paulina Rodas 2007-06-15 13:21:24 Re: Postgres and Mapserver timeout