Doble cursor

06/08/2003 - 22:13 por Marino | Informe spam
Amigos del grupo, me gustaria saber como manejar un cursor
anidado dentro de otro en un procedimiento. Les envio
parte del codigo para que entiendan que quiero hacer.
Gracias por cualquier ayuda.
CREATE PROCEDURE ACT_COMP
@BAN INT = 0
AS

DECLARE C_ACT CURSOR FOR SELECT DSecundario_1, Documento
FROM Tabla_Clasificación
DECLARE C_COM CURSOR FOR SELECT Codigo FROM
Tabla_Complicacion
DECLARE @DSecundario_1 CHAR, @CEDULA INT
DECLARE @Codigo CHAR

OPEN C_ACT
FETCH NEXT FROM C_ACT INTO @DSecundario_1, @CEDULA
SELECT @BAN = 0
WHILE (@@fetch_status <> -1)
BEGIN
IF (@@fetch_status <> -2)
BEGIN
OPEN C_COM
FETCH NEXT FROM C_COM INTO @Codigo
WHILE (@@fetch_status <> -1) --AND @BAN
<>1
BEGIN
IF (@@fetch_status <> -2) AND @BAN
<>1
BEGIN
IF @DSecundario_1 = @Codigo
BEGIN
PRINT 'Registro
actualizado para ' + CONVERT(VARCHAR(30),@CEDULA)
UPDATE
Tabla_Clasificación
SET Complicacion =
1
WHERE CURRENT OF
C_ACT
SELECT @BAN = 1
FETCH NEXT FROM
C_COM INTO @Codigo
END
END
FETCH NEXT FROM C_COM INTO @Codigo
END
END
CLOSE C_COM
DEALLOCATE C_COM
FETCH NEXT FROM C_ACT INTO @DSecundario_1, @CEDULA
END
CLOSE C_ACT
DEALLOCATE C_ACT
GO
 

Leer las respuestas

#1 Isaías
06/08/2003 - 23:29 | Informe spam
Hola

¿Podria decirnos que desea hacer con las 2 tablas que
maneja en sus "cursores"?

Gracias.

Preguntas similares