Advertisement
Guest User

Untitled

a guest
Dec 8th, 2019
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 3.57 KB | None | 0 0
  1. DECLARE @idPagamentoVenda INT= 58663033;
  2. DECLARE @qtParcelas INT= 4;
  3. DECLARE @prTaxaAdministracao NUMERIC(9, 2)= 0.25;
  4. IF(
  5. (
  6.     SELECT COUNT(*)
  7.     FROM card.tbParcela
  8.     WHERE idPagamentoVenda = @idPagamentoVenda
  9.           AND idStatusParcela = 2
  10. ) = 0)
  11.     BEGIN
  12.         DECLARE @qtParcelasAtuais INT=
  13.         (
  14.             SELECT COUNT(*)
  15.             FROM card.tbParcela
  16.             WHERE idPagamentoVenda = @idPagamentoVenda
  17.         );
  18.         IF(@qtParcelasAtuais > @qtParcelas)
  19.             BEGIN
  20.                 DECLARE @diferenca1 INT= @qtParcelasAtuais - @qtParcelas;
  21.                 WHILE @diferenca1 > 0
  22.                     BEGIN
  23.                         DELETE FROM card.tbParcela
  24.                         WHERE nrParcela =
  25.                         (
  26.                             SELECT MAX(nrParcela)
  27.                             FROM card.tbParcela
  28.                             WHERE idPagamentoVenda = @idPagamentoVenda
  29.                         )
  30.                               AND idPagamentoVenda = @idPagamentoVenda;
  31.                         DECLARE @vlParc DECIMAL=
  32.                         (
  33.                             SELECT COUNT(*)
  34.                             FROM card.tbParcela
  35.                             WHERE idPagamentoVenda = @idPagamentoVenda
  36.                         ) / @qtParcelas;
  37.                         UPDATE card.tbParcela
  38.                           SET
  39.                               vlParcela = @vlParc,
  40.                               vlTaxaAdministracao = @prTaxaAdministracao;
  41.                         SELECT *
  42.                         FROM card.tbParcela;
  43.                         SET @diferenca1 = @diferenca1 - 1;
  44.         END;
  45.                 IF(@qtParcelasAtuais < @qtParcelas)
  46.                     BEGIN
  47.                         DECLARE @diferenca2 INT= @qtParcelas - @qtParcelasAtuais;
  48.                         WHILE @diferenca2 > 0
  49.                             BEGIN
  50.                                 INSERT INTO card.tbParcela
  51.                                        SELECT idPagamentoVenda,
  52.                                               nrParcela + 1,
  53.                                               idEmpresa,
  54.                                               dtEmissao,
  55.                                               dtVencimento,
  56.                                               vlParcela,
  57.                                               vlTaxaAdministracao,
  58.                                               idContaCorrente,
  59.                                               dtPagamento,
  60.                                               vlPago,
  61.                                               idStatusParcela,
  62.                                               idMovimentoBanco
  63.                                        FROM card.tbParcela
  64.                                        WHERE idPagamentoVenda = @idPagamentoVenda
  65.                                              AND nrParcela =
  66.                                        (
  67.                                            SELECT MAX(nrParcela)
  68.                                            FROM card.tbParcela
  69.                                            WHERE idPagamentoVenda = @idPagamentoVenda
  70.                                        );
  71.                                 DECLARE @vlParc2 DECIMAL=
  72.                                 (
  73.                                     SELECT COUNT(*)
  74.                                     FROM card.tbParcela
  75.                                     WHERE idPagamentoVenda = @idPagamentoVenda
  76.                                 ) / @qtParcelas;
  77.                 END;
  78.                 END;
  79.         END;
  80. END;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement