[firebase-br] Procedure não grava.
Sandro Souza
escovadordebits em gmail.com
Seg Abr 16 16:19:01 -03 2012
Bom dia/tarde/noute Auriston.
Posso estar falando besteira, mas não deveria colocar dois-pontos (":")
antes do nome dos parâmetros "TOTALBASE_PIS_COFINS", "TOTAL_PIS" e
"TOTAL_COFINS" que estão na cláusula INTO dos 3 SELECTs?
Em 16 de abril de 2012 15:21, auriston geronimo lopes <
auristonlopes em ig.com.br> escreveu:
> Boa Tarde a todos.
>
> Estou fazendo esta procedure e ela nao grava os dados passados atraves do
> update.
> Se eu commitar atraves do IBExpert, ela grava, como faço para ela gravar,
> sendo que não posso usar o commit na procedure.
>
> CREATE PROCEDURE SOMAPIS_COFINS (
> NPEDIDO INTEGER,
> NSERIE VARCHAR(2),
> NCLIFOR INTEGER,
> TIPO VARCHAR(1))
> RETURNS (
> TOTALBASE_PIS_COFINS NUMERIC(15,2),
> TOTAL_PIS NUMERIC(15,2),
> TOTAL_COFINS NUMERIC(15,2))
> AS
> begin
> select sum(totalprod) from movprodutos where (pedido = :NPEDIDO) and
> (serie = :NSERIE) and (COD_CLI = :nclifor) into totalbase_pis_cofins;
>
> select sum(vr_pis) from movprodutos where (pedido = :NPEDIDO) and
> (serie = :NSERIE) and (COD_CLI = :nclifor) into total_pis;
>
> select sum(vr_cofins) from movprodutos where (pedido = :NPEDIDO) and
> (serie = :NSERIE) and (COD_CLI = :nclifor) into total_cofins;
>
> if (:TIPO = 'E') then
> Begin
> update entradas set BASE_COFINS = :totalbase_pis_cofins,VR_COFINS =
> :total_cofins,BASE_PIS = :totalbase_pis_cofins,VR_PIS = :total_pis,
> TOTALPROD = :totalbase_pis_cofins where (nota = :NPEDIDO) and (serie =
> :NSERIE) and (CODFOR = :nclifor);
>
> End
> else
> Begin
> update saidas set BASE_COFINS = :totalbase_pis_cofins,VR_COFINS =
> :total_cofins,BASE_PIS = :totalbase_pis_cofins,VR_PIS = :total_pis,
> TOTALPROD = :totalbase_pis_cofins where (pedido = :NPEDIDO) and (serie =
> :NSERIE) and (COD_CLI = :nclifor);
> End
> suspend;
> end
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
Mais detalhes sobre a lista de discussão lista