Re: a bug in plpgsql

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: a bug in plpgsql
Дата
Msg-id 28336.1099597660@sss.pgh.pa.us
обсуждение исходный текст
Ответ на a bug in plpgsql  (Jaime Casanova <systemguards@yahoo.com>)
Ответы Re: a bug in plpgsql  (Jaime Casanova <systemguards@yahoo.com>)
Список pgsql-bugs
Jaime Casanova <systemguards@yahoo.com> 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

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Jaime Casanova
Дата:
Сообщение: a bug in plpgsql
Следующее
От: Jaime Casanova
Дата:
Сообщение: Re: a bug in plpgsql