DECLARE @DATA DATETIME DECLARE @VENCIMENTO_INICIAL DATETIME DECLARE @COD_FORMA_PGTO VARCHAR(3) DECLARE @LIMITE_COMPRA DATETIME SET @DATA = CONVERT(DATETIME,CONVERT(DATE,GETDATE())) SELECT @VENCIMENTO_INICIAL = VENCIMENTO , @LIMITE_COMPRA = COMPRA FROM LOJA_FORMAS_VENCIMENTOS WITH(NOLOCK) WHERE MONTH(@DATA) = MONTH(COMPRA) AND YEAR(@DATA) = YEAR(COMPRA) DECLARE Cur_Loja_Formas_Pgto CURSOR FOR SELECT COD_FORMA_PGTO FROM LOJA_FORMAS_PGTO WITH(NOLOCK) WHERE FORMA_PGTO LIKE 'CONSIGWEB%' OPEN Cur_Loja_Formas_Pgto; FETCH NEXT FROM Cur_Loja_Formas_Pgto INTO @COD_FORMA_PGTO ; WHILE @@FETCH_STATUS = 0 BEGIN DECLARE @PARCELA VARCHAR(2), @CONTADOR INT = 0 DECLARE Cur_Loja_Formas_PARCELAS CURSOR FOR SELECT PARCELA FROM LOJA_FORMAS_PARCELAS WITH(NOLOCK) WHERE COD_FORMA_PGTO = @COD_FORMA_PGTO OPEN Cur_Loja_Formas_PARCELAS; FETCH NEXT FROM Cur_Loja_Formas_PARCELAS INTO @PARCELA ; WHILE @@FETCH_STATUS = 0 BEGIN UPDATE LOJA_FORMAS_PARCELAS SET LIMITE_COMPRA = @LIMITE_COMPRA, DATA_PARA_TRANSFERENCIA = GETDATE(), LIMITE_VCTO = DATEADD(MONTH,@CONTADOR,@VENCIMENTO_INICIAL) WHERE COD_FORMA_PGTO = @COD_FORMA_PGTO AND PARCELA = @PARCELA SET @CONTADOR = @CONTADOR + 1 FETCH NEXT FROM Cur_Loja_Formas_PARCELAS INTO @PARCELA; END CLOSE Cur_Loja_Formas_PARCELAS; DEALLOCATE Cur_Loja_Formas_PARCELAS; FETCH NEXT FROM Cur_Loja_Formas_Pgto INTO @COD_FORMA_PGTO; END CLOSE Cur_Loja_Formas_Pgto; DEALLOCATE Cur_Loja_Formas_Pgto;