pregunta anti cursor

09/12/2003 - 22:21 por Cam Acosta | Informe spam
Hola a todos, tengo una tabla mas o menos como la siguiente, y necesito
llenar el campo secuencia (que inicalmente es nulo) que es como un
autonumerico para los registros que pertenecen a un mismo docNo. Existe
alguna forma de hacerlo de forma masiva o toca recurrir a una solución del
tipo cursor...

Gracias,

Camilo Acosta



docNo Cuenta Valor Secuencia
1 123123 4000 1
1 234234 4667 2
1 123423 213423 3
2 234234 234345 1
2 234345 345434 2
3 234234 23434 1
3 233541 234234 2

create table prueba(
docNo int,
Cuenta char(10),
Valor money,
Secuencia int
)
go

INSERT INTO dbo.prueba
VALUES (1, N'123123 ', 4000, NULL)
INSERT INTO dbo.prueba
VALUES (1, N'234234 ', 4667, NULL)
INSERT INTO dbo.prueba
VALUES (1, N'123423 ', 213423, NULL)
INSERT INTO dbo.prueba
VALUES (2, N'234234 ', 234345, NULL)
INSERT INTO dbo.prueba
VALUES (2, N'234345 ', 345434, NULL)
INSERT INTO dbo.prueba
VALUES (3, N'234234 ', 23434, NULL)
INSERT INTO dbo.prueba
VALUES (3, N'23354 ', 234234, NULL)

Preguntas similare

Leer las respuestas

#6 Salvador Ramos
16/12/2003 - 20:50 | Informe spam
Bienvenida de nuevo Liliana !!! :-)

Aunque es una pena que se te hayan acabado las vacaciones.

Un saludo
Salvador Ramos
Murcia - España

No puedes conseguir software rápidamente disminuyendo su calidad.
En cambio, si que lo consigues aumentando la calidad.

www.helpdna.net (información sobre Windows DNA, SQL Server, VB, ...)


Microsoft MVP SQL Server
MCP SQL Server
PASS Spanish Group (www.sqlpass.org)


"Liliana Sorrentino" escribió en el mensaje
news:%23N6mrY$
¡Todavía me recuerdan por estos lares!

Después de 40 días de vacaciones hoy me reintegro a la oficina. No es
recomendable tanto tiempo, las neuronas tardan en reaccionar a la vuelta,
pero que no se entere mi jefe.

Hola amigo Isaías, pero ¿cómo es eso de que no lo probaste? ¿habrás
solucionado lo tuyo con algún cursorcito...?

Saludos a todos...

"Isaías" escribió en el mensaje
news:0ffd01c3beb4$b82d40b0$
> Hola Mike
>
> Con tu permiso, quisiera sugerir esta solucion que algun
> dia la "Super-Anti-Cursores" de Liliana Sorrentino me dio.
>
>
> UPDATE prueba
> SET Secuencia= (SELECT COUNT(docNo)
> FROM prueba
> WHERE docNo = t.docNo AND Cuenta = t.Cuenta AND Cuenta
> <= t.Cuenta)
> FROM prueba t
>
> Espero funcione, no lo he probado.


Respuesta Responder a este mensaje
#7 Javier Loria
17/12/2003 - 03:03 | Informe spam
40 DIAS!!!!!

De eso es que en Latinoamerica no avanzamos :-D
Saludos y un placer tenerte de vuelta.


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
Liliana Sorrentino escribio:
¡Todavía me recuerdan por estos lares!

Después de 40 días de vacaciones hoy me reintegro a la oficina. No es
recomendable tanto tiempo, las neuronas tardan en reaccionar a la
vuelta, pero que no se entere mi jefe.

Hola amigo Isaías, pero ¿cómo es eso de que no lo probaste? ¿habrás
solucionado lo tuyo con algún cursorcito...?

Saludos a todos...

"Isaías" escribió en el mensaje
news:0ffd01c3beb4$b82d40b0$
Hola Mike

Con tu permiso, quisiera sugerir esta solucion que algun
dia la "Super-Anti-Cursores" de Liliana Sorrentino me dio.


UPDATE prueba
SET Secuencia= (SELECT COUNT(docNo)
FROM prueba
WHERE docNo = t.docNo AND Cuenta = t.Cuenta AND Cuenta
<= t.Cuenta)
FROM prueba t

Espero funcione, no lo he probado.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida