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:
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. 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
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