Jaime Casanova <[EMAIL PROTECTED]> writes:
>                               CASE rs_dtran.fpg_codigo
>                                       WHEN ''EF'' THEN
>                                               IF rs_ttran.tra_tipo = ''+'' THEN
>                                                       valor_ef := valor_ef + 
> rs_dtran.dtr_valor;
>                                               ELSE
>                                                       valor_ef := valor_ef - 
> rs_dtran.dtr_valor;
>                                               END IF;
>                                       WHEN ''CH'' THEN
>                                               IF rs_ttran.tra_tipo = ''+'' THEN
>                                                       valor_ch := valor_ch + 
> rs_dtran.dtr_valor;
>                                               ELSE
>                                                       valor_ch := valor_ch - 
> rs_dtran.dtr_valor;
>                                               END IF;
>                               END;

> but in that line there is a valid IF .. THEN .. ELSE
> block.

if/then/else is a statement, not a component of an expression.
CASE is an expression construct, not a statement.  I think
you need to rewrite the CASE as an if/then/elsif statement.

                        regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

               http://archives.postgresql.org

Reply via email to