Página 1 de 1

Hacer un update secuencial

Publicado: Vie Mar 16, 2007 1:19 pm
por jose.luis
Hola,
Data una tabla con un campo numérico donde normalmente guardaremos un orden
correlativo. Algo así
Tabla: pruebas
cCodigo dFecha nContador
'00012' '01/09/2005' 1
'00013' '02/09/2005' 3
'00014' '01/09/2005' 4
'00015' '03/09/2005' 5
'00011' '04/09/2005' 6
'00010' '05/09/2005' 8
Quisiera saber si hay alguna manera de hacer un único update para conseguir
esto:
cCodigo dFecha nContador
'00012' '01/09/2005' 1
'00013' '02/09/2005' 2
'00014' '01/09/2005' 3
'00015' '03/09/2005' 4
'00011' '04/09/2005' 5
'00010' '05/09/2005' 6
Algo así:
UPDATE PRUEBAS SET nContador = nRow() //suponiendo que nRow() fuera una
función que devuelva un número consecutivo..
Saludos,
José Luis Capel

Hacer un update secuencial

Publicado: Vie Mar 16, 2007 1:42 pm
por Rolando
Hola:
¿ Porque no usas un autoincremental en nContador ?, o la función SQL
Max( nContador ) +1 en un disparador.
Saludos.
"José Luis Capel - Aicom" <jose.luis@iaicom.com> escribió en el mensaje
news:45fa8b27$[email=1@news.xailer.com...]1@news.xailer.com...[/email]
> Hola,
>
> Data una tabla con un campo numérico donde normalmente guardaremos un
> orden correlativo. Algo así
>
> Tabla: pruebas
>
> cCodigo dFecha nContador
> '00012' '01/09/2005' 1
> '00013' '02/09/2005' 3
> '00014' '01/09/2005' 4
> '00015' '03/09/2005' 5
> '00011' '04/09/2005' 6
> '00010' '05/09/2005' 8
>
> Quisiera saber si hay alguna manera de hacer un único update para
> conseguir esto:
>
> cCodigo dFecha nContador
> '00012' '01/09/2005' 1
> '00013' '02/09/2005' 2
> '00014' '01/09/2005' 3
> '00015' '03/09/2005' 4
> '00011' '04/09/2005' 5
> '00010' '05/09/2005' 6
>
> Algo así:
>
> UPDATE PRUEBAS SET nContador = nRow() //suponiendo que nRow() fuera una
> función que devuelva un número consecutivo..
>
> Saludos,
> José Luis Capel
>
>

Hacer un update secuencial

Publicado: Vie Mar 16, 2007 1:45 pm
por jose.luis
Rolando,
> ¿ Porque no usas un autoincremental en nContador ?, o la función
> SQL Max( nContador ) +1 en un disparador.
No puedo poner un autoincremental dado que el valor de ese campo no depende
del orden de creación. Es el usuario quien determina el orden.... y mi
aplicación quien tiene que reorganizar consecutivamente la lista.
Saludos,
José Luis Capel