el cursor devuelve solo un registro
porque el siguiente procedimiento pasa dos veces por el cursor?
DECLARE @npedido AS INT
DECLARE @Excel AS BIT
DECLARE marcada_cursor CURSOR FOR
SELECT Pedidos.npedido
FROM Pedidos INNER JOIN Pedidos_Control ON Pedidos.npedido Pedidos_Control.npedidoControl
WHERE (Pedidos_Control.Expedido = 0) AND (Pedidos_Control.Anulado = 0)
AND (Pedidos.CodHilo IS NOT NULL) AND (Pedidos_Control.Marcada = 0)
OPEN marcada_cursor
WHILE @@FETCH_STATUS = 0
BEGIN
FETCH NEXT FROM marcada_cursor
INTO @npedido
SET @Excel=(SELECT Pedidos_Control.Excel FROM Pedidos INNER
JOIN Pedidos_Control ON Pedidos.npedido =Pedidos_Control.npedidoControl
WHERE npedido=@npedido)
IF @Excel=0
UPDATE pedidos_control SET marcada=1 WHERE npedidocontrol=@npedido
END
CLOSE marcada_cursor
Leer las respuestas