powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / pgAdmin III Query - использование переменных и нескольких строк
4 сообщений из 4, страница 1 из 1
pgAdmin III Query - использование переменных и нескольких строк
    #34252878
burunduchechek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А можно каким то образом в pgAdmin в диалоге обработки запросов написать несколько строк запроса с использованием промежуточных переменных ?
...
Рейтинг: 0 / 0
pgAdmin III Query - использование переменных и нескольких строк
    #34252968
drunk2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет. придется писать функцию
...
Рейтинг: 0 / 0
pgAdmin III Query - использование переменных и нескольких строк
    #34260399
glebofff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drunk2нет. придется писать функцию
Функцию, действительно, придётся писать! :-)

Опираясь на результаты поиска по форуму, и если очень уж невмоготу, можно проделать что-нибудь подобное:

postgresql.conf:
Код: plaintext
\ncustom_variable_classes = \'public\'\n

blablabla.sql:
Код: plaintext
\ndrop function var_set (text,text) cascade;\ndrop function var_get (text) cascade;\n\ncreate function var_set (text,text) returns text\nas\n\'\n  select set_config (\'\'public.\'\'||$2, $1, false);\n\' language \'sql\';\n\ncreate function var_get (text) returns text\nas\n\'\n  select current_setting(\'\'public.\'\'||$1);\n\' language \'sql\';\n\ncreate operator >>> (procedure = var_set, leftarg = text, rightarg = text);\ncreate operator <<< (procedure = var_get, rightarg = text);\n

Проверяем:
Код: plaintext
\ntest=# select now() >>> \'script start\';\n           ?column?           \n------------------------------\n  2007 - 01 - 17   10 : 16 : 46 . 29551 + 05 \n( 1  запись)\n\ntest=# select <<< \'script start\';\n           ?column?           \n------------------------------\n  2007 - 01 - 17   10 : 16 : 46 . 29551 + 05 \n( 1  запись)\n

PS: 2domanix, спасибо за инфу, кстати.
...
Рейтинг: 0 / 0
pgAdmin III Query - использование переменных и нескольких строк
    #34260813
glebofff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пожалуй, так будет ещё лучше:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
drop function var_set (text,text) cascade;
drop function var_get (text) cascade;

create function var_set (text,text) returns text
as
'
  select set_config (''public.''||$2||pg_backend_pid(), $1, false);
' LANGUAGE 'sql';

create function var_get (text) returns text
as
'
  select current_setting(''public.''||$1||pg_backend_pid());
' LANGUAGE 'sql';

create operator >>> (procedure = var_set, leftarg = text, rightarg = text);
create operator <<< (procedure = var_get, rightarg = text);
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / pgAdmin III Query - использование переменных и нескольких строк
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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