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