[firebase-br] Erro em trigger, por que

Andrei Luís compuvale.software em gmail.com
Seg Maio 28 19:15:56 -03 2007


Olá Washington,

Não faltou o into e ponto e vírgula no final aqui:

select sum(empi_valor_parc) as wv_valor_faltante
 from emprestimos_itens
 where (empi_controle = old.empi_controle and empi_pago = 'N' and
empi_parcela <> :wv_parcela||'/'||:wv_parcela)

Você tá especificando wv_valor_faltante como alias do campo, mas acho
que o FB não tá entendendo isso como uma variável.

[]
Andrei

Em 28/05/07, NextCorp Informática<nextcorp em terra.com.br> escreveu:
> Caros colegas
>
> Tenho a seguinte trigger e está mostrando a seguinte msg:
>
> ---------- STATEMENT ----------
>
> CREATE trigger tr_empi_calc_val_ult_parc_au0 for emprestimos_itens
> active after update position 0
> AS
>     declare variable wv_num_parc integer;
>     declare variable wv_valor_emprestimo numeric(15,2);
>     declare variable wv_valor_faltante numeric(15,2);
>     declare variable wv_calcula numeric(15,2);
>     declare variable wv_parcela Char(2);
> begin
>   -- pega o numero de parcelas no emprestimos para poder saber qual é a
> última
>
>   select emp_num_parc, emp_valor_emprestimo
>   from emprestimos
>   where emp_controle = old.empi_controle
>   into :wv_num_parc, :wv_valor_emprestimo;
>
>   wv_parcela= udf_strzero(Cast(wv_num_parc as char(2)),2);
>
>   -- soma as parcelas restantes
>
>   select sum(empi_valor_parc) as wv_valor_faltante
>   from emprestimos_itens
>   where (empi_controle = old.empi_controle and empi_pago = 'N' and
> empi_parcela <> :wv_parcela||'/'||:wv_parcela)
>
>   -- calcula o valor da ultima
>
>   wv_calcula= ((wv_valor_emprestimo - old.empi_valor_pago +
> old.empi_valor_acres) - wv_valor_faltante)
>
>   if (wv_calcula is null) then
>      wv_calcula = 0.00;
>
>   update emprestimos_itens set
>   empi_valor_parc = wv_calcula
>   where empi_parcela <> :wv_parcela||'/'||:wv_parcela;
>
> end
>
>
> ---------- ERROR MESSAGE ----------
>
> Invalid token.
> Dynamic SQL Error.
> SQL error code = -104.
> Token unknown - line 27, column 3.
> wv_calcula.
>
> Atenciosamente
>
> Washington André Muller da Silva
>
> #######################
> NextCorp Informática
> www.nextcorp.com.br
> nextcorp em terra.com.br
> 0-XX-(51)-3589-3690
> #######################




Mais detalhes sobre a lista de discussão lista