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

Duda sobre stored procedures en SQL 2000

Estas en el tema de Duda sobre stored procedures en SQL 2000 en el foro de Bases de Datos General en Foros del Web. Hola, tengo una duda muy simple y se trata de saber como hacer un ciclo o un recorrido al conjunto de resultados de un select ...
  #1 (permalink)  
Antiguo 28/01/2005, 16:44
Avatar de hpvalle  
Fecha de Ingreso: diciembre-2003
Ubicación: Nuevo Laredo, Tamaulipas
Mensajes: 32
Antigüedad: 20 años, 3 meses
Puntos: 0
Duda sobre stored procedures en SQL 2000

Hola, tengo una duda muy simple y se trata de saber como hacer un ciclo o un recorrido al conjunto de resultados de un select dentro de un stored procedure o trigger en SQL 2000. Yo trabaje cuatro años con Interbase y posteriormente Firebird y en ese manejador lo unico que hacia era anteponer la palabra FOR antes del SELECT y eso me permitia ejecutar codigo por cada renglon de dicha consulta; pero ahora he tenido que migrar a SQL 2000 hace apenas unos dias y se me ha presentado la necesidad de recorrer un conjunto de resultados renglon por renglon y no encuentro como hacerlo, ya que al menos la palabra FOR tiene un uso distinto en este manejador.

Agradezco de antemano su ayuda.
__________________
No hagas a los demas lo que no quieras que te hagan.
  #2 (permalink)  
Antiguo 28/01/2005, 17:19
Avatar de Avelar  
Fecha de Ingreso: noviembre-2002
Ubicación: Ensenada, Baja California, México
Mensajes: 673
Antigüedad: 21 años, 5 meses
Puntos: 1
Revisa la documentación del SQL buscando CURSOR.

Código:
	DECLARE <NombreCursor>_Cursor CURSOR FOR 
	  SELECT <Campos> 
	  FROM  <Tablas> 
	  WHERE <Condiciones>
    
	OPEN <NombreCursor>_Cursor 
	  
	  FETCH NEXT FROM <NombreCursor>_Cursor 
	  INTO @<variables que tomarán el valor de los campos del select> 
	  
	  WHILE @@FETCH_STATUS = 0 
		BEGIN 
		  
		  <Código con lo que quieres hacer dentro del ciclo>
		  
		  FETCH NEXT FROM <NombreCursor>_Cursor
		  INTO @<variables que tomarán el valor de los campos del select> 
		END
		
	CLOSE <NombreCursor>_Cursor
	
	DEALLOCATE <NombreCursor>_Cursor
Espero que si sea lo que querías.

Saludos
__________________
Ariel Avelar
  #3 (permalink)  
Antiguo 28/01/2005, 17:37
Avatar de hpvalle  
Fecha de Ingreso: diciembre-2003
Ubicación: Nuevo Laredo, Tamaulipas
Mensajes: 32
Antigüedad: 20 años, 3 meses
Puntos: 0
Muchas gracias por el tip Avelar, ya estoy buscando la documentacion de este tema a detalle y por lo que he leido es precisamente lo que necesitaba, me has sacado de un apuro.

Saludos.
__________________
No hagas a los demas lo que no quieras que te hagan.
  #4 (permalink)  
Antiguo 28/01/2005, 17:50
Avatar de Sir Matrix  
Fecha de Ingreso: octubre-2000
Ubicación: Dentro de mi cabeza. ono?
Mensajes: 1.264
Antigüedad: 23 años, 6 meses
Puntos: 3
Aquí se explica de forma muy económica lo de los cursores:

http://www.webmagic.cl/rcursorsql.php


Saludos
__________________
|||| ))>_<(( ||||
www.webmagic.cl <-- esta pagina está mala, no la busquen
  #5 (permalink)  
Antiguo 28/01/2005, 18:07
Avatar de hpvalle  
Fecha de Ingreso: diciembre-2003
Ubicación: Nuevo Laredo, Tamaulipas
Mensajes: 32
Antigüedad: 20 años, 3 meses
Puntos: 0
Muy buen link que me enviaste, el ejemplo mostrado ahi es muy legible y comprensible por lo que me ha servido como un buen complemento de lo que habia leido, de hecho ya lo estoy poniendo en practica; gracias Sir Matrix.
__________________
No hagas a los demas lo que no quieras que te hagan.
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 10:29.