Re: [pgbr-geral] SQL DINAMICO DENTRO DE UM PL

2016-02-02 Por tôpico Osvaldo Kussama
Em 02/02/16, Osvaldo Kussama escreveu:
> Em 02/02/16, lu moraes santos escreveu:
>> Então como eu faria esta modelagem de gerar as parcelas de acordo com a
>> forma de pagamento
>>
>
> Por exemplo utilizando um array.
> De qualquer maneira me parece estranho que os períodos possam ser
> variáveis (um 30 dias, outro 15, outro 5, etc).
>
> Certamente definindo uma quantidade de variáveis que atendam a todas
> as possibilidades não me parece um bom caminho.
>
> Osvaldo
>

Aliás: por que não um tabela?

Osvaldo
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] SQL DINAMICO DENTRO DE UM PL

2016-02-02 Por tôpico lu moraes santos
Então como eu faria esta modelagem de gerar as parcelas de acordo com a
forma de pagamento
Em 1 de fev de 2016 11:45 PM, "Osvaldo Kussama" 
escreveu:

> Em 01/02/16, lu moraes santos escreveu:
> > veja pra vc entender:
> >
> > id_pagto  descricaoqtdparc   p1  p2  p3  p4  p5  p6 .P12
> >1   A Vista   1  0
> >2  Entrada + 30   2  0   30
> >3Entr/30/60 3  0   30   60
> >430/60/903 30  60   90
> >530/45/503 30  45   50
> >
> > Os campos p1 ate p12 DETERMINA O INTERVALO DOS VENCIMENTO
> >
> > O Campo qtdparc DETERMINA A QTDE DE PARCELAS
> >
> > Se vc fizer uma compra de 100,00 usando id_pagto=2 ficaria:
> >
> > 50,00 pra hj (current_date + 0)
> > 50,00 para 02/03/2016  (current_date + 30)
> >
>
>
> Creio que você deva repensar sua solução.
> Me parece sem sentido você utilizar estas múltiplas variáveis.
>
> Osvaldo
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] SQL DINAMICO DENTRO DE UM PL

2016-02-02 Por tôpico Osvaldo Kussama
Em 02/02/16, lu moraes santos escreveu:
> Então como eu faria esta modelagem de gerar as parcelas de acordo com a
> forma de pagamento
>

Por exemplo utilizando um array.
De qualquer maneira me parece estranho que os períodos possam ser
variáveis (um 30 dias, outro 15, outro 5, etc).

Certamente definindo uma quantidade de variáveis que atendam a todas
as possibilidades não me parece um bom caminho.

Osvaldo
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] SQL DINAMICO DENTRO DE UM PL

2016-02-01 Por tôpico Osvaldo Kussama
Em 01/02/16, lu moraes santos escreveu:
> veja pra vc entender:
>
> id_pagto  descricaoqtdparc   p1  p2  p3  p4  p5  p6 .P12
>1   A Vista   1  0
>2  Entrada + 30   2  0   30
>3Entr/30/60 3  0   30   60
>430/60/903 30  60   90
>530/45/503 30  45   50
>
> Os campos p1 ate p12 DETERMINA O INTERVALO DOS VENCIMENTO
>
> O Campo qtdparc DETERMINA A QTDE DE PARCELAS
>
> Se vc fizer uma compra de 100,00 usando id_pagto=2 ficaria:
>
> 50,00 pra hj (current_date + 0)
> 50,00 para 02/03/2016  (current_date + 30)
>


Creio que você deva repensar sua solução.
Me parece sem sentido você utilizar estas múltiplas variáveis.

Osvaldo
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] SQL DINAMICO DENTRO DE UM PL

2016-02-01 Por tôpico lu moraes santos
Ola bom dia Osvaldo.

quando vc usa o comando INTO dDataVencto USING i; ele vai substituir o
conteudo do parametro $1 pelo conteudo de i, entao se fosse traduzir o sql:

Select Current_date + P1 from condpagto WHERE id_pagto=6; entao seria:

EXECUTE 'SELECT current_date + P*$1* FROM condpagto WHERE id_pagto=6' INTO
dDataVencto USING i; ?

Se for ai da o seguinte erro:

ERROR:  column "p$1" does not exist
LINE 1: SELECT  current_date + p$1 FROM condpagto WHERE id_pagto = 6
   ^
HINT:  Perhaps you meant to reference the column "condpagto.p1" or the
column "condpagto.p11".

MUITO GRATO PELA ATENCAO

[image: Foto]
*LuMoraes*
*O mais completo para seu comércio.*

Em 1 de fevereiro de 2016 11:05, Osvaldo Kussama 
escreveu:

> Em 01/02/16, lu moraes santos escreveu:
> > Ola bom dia a todos.
> >
> > Estou precisando montar um sql dinamico dentro de uma PL, tenho uma
> tabela
> > de cond. pagto onde devo destacar os seguinte campos:
> >
> > qtdparc = quantidade de parcelas
> >
> > p1 ate p12 ou seja os dias de vencto de cada parcela, exemplo:
> >
> > qtdparc=2
> > p1=30
> > p2=60
> >
> > ou seja 2 parcelas = 30 + 60  os vencimentos
> >
> > estou fazendo um loop na qtde de parcelas pra gerar o valor e vencto de
> > cada parcela:
> >
> > for i in 1..qtdparc
> >  loop
> >
> > -- eu fiz da seguinte forma:
> >
> >   execute 'select into dDataVencto current_date + p' || i ||' from
> > condpagto where   id_pagto= 6';
> >
> > -- O dDataVencto  é uma variavel do tipo Date para receber a data de
> hoje +
> > n
> > -- dias
> >
> > -- note que 'p'|| i é pra concatenar o p + valor de i no loop para pegar
> a
> > parcela (p1 ou p2 ou p3 ou pnvezes)
> >
> > -- aqui em baixo o resto do codigo.
> >
> >  end loop;
> >
> >
> > Porem ao executar da erro de sintaxe.
> >
> >
>
> Tente:
>
> EXECUTE 'SELECT  current_date + $1*30 FROM condpagto WHERE id_pagto =
> 6' INTO dDataVencto USING i;
>
> Osvaldo
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] SQL DINAMICO DENTRO DE UM PL

2016-02-01 Por tôpico Osvaldo Kussama
Em 01/02/16, lu moraes santos escreveu:
> Ola bom dia Osvaldo.
>
> quando vc usa o comando INTO dDataVencto USING i; ele vai substituir o
> conteudo do parametro $1 pelo conteudo de i, entao se fosse traduzir o sql:
>
> Select Current_date + P1 from condpagto WHERE id_pagto=6; entao seria:
>
> EXECUTE 'SELECT current_date + P*$1* FROM condpagto WHERE id_pagto=6' INTO
> dDataVencto USING i; ?
>
> Se for ai da o seguinte erro:
>
> ERROR:  column "p$1" does not exist
> LINE 1: SELECT  current_date + p$1 FROM condpagto WHERE id_pagto = 6
>^
> HINT:  Perhaps you meant to reference the column "condpagto.p1" or the
> column "condpagto.p11".
>


Sinceramente não vejo muito sentido na utilização destas variáveis pi
para definir a quantidade de dias para o vencimento de cada parcela.

Osvaldo
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] SQL DINAMICO DENTRO DE UM PL

2016-02-01 Por tôpico Osvaldo Kussama
Em 01/02/16, lu moraes santos escreveu:
> Ola bom dia a todos.
>
> Estou precisando montar um sql dinamico dentro de uma PL, tenho uma tabela
> de cond. pagto onde devo destacar os seguinte campos:
>
> qtdparc = quantidade de parcelas
>
> p1 ate p12 ou seja os dias de vencto de cada parcela, exemplo:
>
> qtdparc=2
> p1=30
> p2=60
>
> ou seja 2 parcelas = 30 + 60  os vencimentos
>
> estou fazendo um loop na qtde de parcelas pra gerar o valor e vencto de
> cada parcela:
>
> for i in 1..qtdparc
>  loop
>
> -- eu fiz da seguinte forma:
>
>   execute 'select into dDataVencto current_date + p' || i ||' from
> condpagto where   id_pagto= 6';
>
> -- O dDataVencto  é uma variavel do tipo Date para receber a data de hoje +
> n
> -- dias
>
> -- note que 'p'|| i é pra concatenar o p + valor de i no loop para pegar a
> parcela (p1 ou p2 ou p3 ou pnvezes)
>
> -- aqui em baixo o resto do codigo.
>
>  end loop;
>
>
> Porem ao executar da erro de sintaxe.
>
>

Tente:

EXECUTE 'SELECT  current_date + $1*30 FROM condpagto WHERE id_pagto =
6' INTO dDataVencto USING i;

Osvaldo
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Re: [pgbr-geral] SQL DINAMICO DENTRO DE UM PL

2016-02-01 Por tôpico lu moraes santos
veja pra vc entender:

id_pagto  descricaoqtdparc   p1  p2  p3  p4  p5  p6 .P12
   1   A Vista   1  0
   2  Entrada + 30   2  0   30
   3Entr/30/60 3  0   30   60
   430/60/903 30  60   90
   530/45/503 30  45   50

Os campos p1 ate p12 DETERMINA O INTERVALO DOS VENCIMENTO

O Campo qtdparc DETERMINA A QTDE DE PARCELAS

Se vc fizer uma compra de 100,00 usando id_pagto=2 ficaria:

50,00 pra hj (current_date + 0)
50,00 para 02/03/2016  (current_date + 30)

GRATO




[image: Foto]
*LuMoraes*
*O mais completo para seu comércio.*

2016-02-01 12:14 GMT-02:00 Osvaldo Kussama :

> Em 01/02/16, lu moraes santos escreveu:
> > Ola bom dia Osvaldo.
> >
> > quando vc usa o comando INTO dDataVencto USING i; ele vai substituir o
> > conteudo do parametro $1 pelo conteudo de i, entao se fosse traduzir o
> sql:
> >
> > Select Current_date + P1 from condpagto WHERE id_pagto=6; entao seria:
> >
> > EXECUTE 'SELECT current_date + P*$1* FROM condpagto WHERE id_pagto=6'
> INTO
> > dDataVencto USING i; ?
> >
> > Se for ai da o seguinte erro:
> >
> > ERROR:  column "p$1" does not exist
> > LINE 1: SELECT  current_date + p$1 FROM condpagto WHERE id_pagto = 6
> >^
> > HINT:  Perhaps you meant to reference the column "condpagto.p1" or the
> > column "condpagto.p11".
> >
>
>
> Sinceramente não vejo muito sentido na utilização destas variáveis pi
> para definir a quantidade de dias para o vencimento de cada parcela.
>
> Osvaldo
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral