Re: NEW and OLD in EXECUTE

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: NEW and OLD in EXECUTE
Дата
Msg-id 12061.982109446@sss.pgh.pa.us
обсуждение исходный текст
Ответ на NEW and OLD in EXECUTE  ("Rod Taylor" <rod.taylor@inquent.com>)
Список pgsql-hackers
"Rod Taylor" <rod.taylor@inquent.com> writes:
> Are we not allowed to use NEW and OLD in an EXECUTEd statement?

Not for 7.1, I'm afraid.  EXECUTE doesn't provide *any* connection
to the plpgsql function's local namespace; it just hands off the
constructed string to the main SQL parser.

In most cases you can work around this by interpolating the variable's
value into the constructed string, eg,
execute ''update foo set bar = '' || new.bar;

Use quote_literal() when interpolating a nonnumeric value this way.

I do have some ideas about improving the situation in 7.2 or later ...
        regards, tom lane


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

Предыдущее
От: Peter Eisentraut
Дата:
Сообщение: Re: locale support
Следующее
От: Ryan Kirkpatrick
Дата:
Сообщение: RE: Recovery of PGSQL after system crash failing!!!