Гость
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / параметры в анонимном блоке через execute / 3 сообщений из 3, страница 1 из 1
04.03.2021, 09:13
    #40050539
Misha111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
параметры в анонимном блоке через execute
доброе утро!
не могу передать параметры ($1) в анонимный блок через execute.

так работает:
Код: sql
1.
2.
3.
4.
5.
6.
7.
DO 
$a$
declare l_v integer;
begin
    execute $e$ select $1+1 $e$ into l_v using 11;
    raise notice 'l_v=%', l_v;
end $a$;



а так нет:
Код: sql
1.
2.
3.
4.
5.
6.
7.
DO 
$a$
begin
    execute $e$ DO $$ begin raise notice 'p_Str=%', $1; end $$; $e$ using 11;
end $a$;
ERROR:  there is no parameter $1
СТРОКА 1: SELECT $1



это невозможно или я что-то не так делаю?
...
Рейтинг: 0 / 0
04.03.2021, 11:21
    #40050581
Павел Лузанов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
параметры в анонимном блоке через execute
Misha111
это невозможно или я что-то не так делаю?

В вашем примере динамически выполняется команда DO и судя по по документации это невозможно:
...символы параметров могут использоваться только в командах SELECT, INSERT, UPDATE и DELETE. В операторы других типов (обычно называемые служебными) значения нужно вставлять в текстовом виде, даже если это просто значения данных.
...
Рейтинг: 0 / 0
05.03.2021, 09:21
    #40050946
Misha111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
параметры в анонимном блоке через execute
Павел Лузанов,

спасибо. не внимательно прочел доку.
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / параметры в анонимном блоке через execute / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]