Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/08/2005, 11:21
Avatar de Developer9
Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años, 11 meses
Puntos: 47
Cursores en SQLSERVER

En c++ puedo hacer:

for(i=0; i<x; i++)
{
for(j=0; j<x; j++)
{
codigo
codigo
}
}

es decir tener un for dentro de otro, y tengo el siguiente procedure:

Cita:
CREATE procedure sp_Inicializa_Valores
as
declare @co_cuenta char(7)
declare @co_anio char(2)
BEGIN

DELETE FROM VALORES

DECLARE tblAnio_cursor CURSOR FOR
SELECT co_anio
FROM Anio

DECLARE tblCuentas_cursor CURSOR FOR
SELECT co_cuenta
FROM Cuentas

OPEN tblAnio_cursor
OPEN tblCuentas_cursor

FETCH NEXT FROM tblCuentas_cursor
INTO @co_cuenta

WHILE @@FETCH_STATUS = 0
BEGIN

FETCH NEXT FROM tblAnio_cursor
INTO @co_anio

WHILE @@FETCH_STATUS = 0
BEGIN
INSERT INTO Valores VALUES
(@co_cuenta, @co_anio, 0, null, null)

FETCH NEXT FROM tblAnio_cursor
INTO @co_anio
END

FETCH NEXT FROM tblCuentas_cursor
INTO @co_cuenta
END
END
En el que necesito que por cada año ingresar todas las cuentas, no tengo mucha practica con cursores, pero si de la logica de la programación, me salen errores al ejecutarlo diciendo que el cursor ya está abierto. Si alguien me pudiera ayudar estaria agradecido.