Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Recorrer una tabla sin usar cursores

Estas en el tema de Recorrer una tabla sin usar cursores en el foro de SQL Server en Foros del Web. como puedo recorrer dos tablas si usar cursores en Transact SQL tengo la siguiente tabla: -- Tabla uno - Id_tuno (int) autoincremental - Nombre (varchar) ...
  #1 (permalink)  
Antiguo 03/04/2009, 16:11
 
Fecha de Ingreso: abril-2009
Mensajes: 40
Antigüedad: 15 años, 1 mes
Puntos: 0
Recorrer una tabla sin usar cursores

como puedo recorrer dos tablas si usar cursores en Transact SQL

tengo la siguiente tabla:

-- Tabla uno
- Id_tuno (int) autoincremental
- Nombre (varchar)
- Califiacion (int)

necesito recorrer registro por registro de la tabla uno y evaluar si el campo de calificacion es mayor a 8, si es asi actualizar un campo de una segunda tabla con la calificacion de la tabla uno.

Como puedo recorrer la tabla registro por registro para acceder a los datos de cada registro y evaluarlos con una condicion, me gustaria hacerlo sin tener que usar cursores, pero si me pueden dar una solucion con cursosres tambien se les agradece

Saludos !!!
  #2 (permalink)  
Antiguo 04/04/2009, 09:57
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.692
Antigüedad: 23 años, 6 meses
Puntos: 19
Respuesta: Recorrer una tabla sin usar cursores

Sería mas o menos así amigo:

UPDATE TablaDOS
SET Calificacion= ( SELECT calificacion
FROM tablaUNO
WHERE tablaUNO.ID_TURNO = tablaDOS.ID_TURNO and calificacion>8)

Sino es lo que necesitas fijate esta página con varios updates complejos:

http://www.techonthenet.com/sql/update.php
__________________
PD: Con amor, fe, amor a Dios y amistad podemos hacer un mundo mejor!!!!
  #3 (permalink)  
Antiguo 05/04/2009, 22:38
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 10 meses
Puntos: 180
Respuesta: Recorrer una tabla sin usar cursores

Puedes hacer el UPDATE directamente, sin tener que recorrer "uno x uno" cada registro, simplemente utilizas el CASE para hacer tu comparacion y de ser este positivo, actualizas tu registro.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:23.