Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
09.06.2005, 22:04
|
|||
|---|---|---|---|
помогите с динамическим выполнением запроса |
|||
|
#18+
Господа, помогите с запросом. надо создавать пользователя, причем имя юзера заранее не известно. Как я понял в таких случаях помогает динамическое выполнение - execute нашел в хелпе пример и написал по нему Код: plaintext 1. 2. 3. 4. 5. Заранее спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.06.2005, 06:00
|
|||
|---|---|---|---|
|
|||
помогите с динамическим выполнением запроса |
|||
|
#18+
Есть две разные команды EXECUTE. Та что тебе нужна работает только в функциях на PL/pgSQL и не требует PREPARE. Если же создание пользователя не оформлять функцией, то команду CREATE USER нужно собирать полностью на клиенте. Кроме того, PREPARE можно использовать только с DML-командами. Некоторые средства (например Zeos, старые версии DBD::Pg) не поддерживают серверный PREPARE, а формируют строку сами - в них такой параметризированный запрос пройдёт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.06.2005, 08:40
|
|||
|---|---|---|---|
помогите с динамическим выполнением запроса |
|||
|
#18+
CREATE OR REPLACE FUNCTION "config"."createuser_sys" (aname char, apass char, acreateusers boolean, acreatedb boolean) RETURNS integer AS $body$ /* Тело функции */ declare apos integer; alen integer; atext text; begin --CREATE USER "the_test" ENCRYPTED PASSWORD '1' CREATEDB CREATEUSER; atext = 'create user '; atext = atext || aname || ' ENCRYPTED PASSWORD '; atext = atext || chr(39) || apass || chr(39) || ' '; if acreateusers = true then atext = atext || ' CREATEUSER '; end if; if acreatedb = true then atext = atext || ' CREATEDB '; end if; execute atext; return 1; end; $body$ LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY DEFINER; моя работает проверено........ только тут я не поставил обработку исключения если такоойюзер уже есть поскольку я вызываю эту процедуру из другой в которой это уже выполняется......... вот)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=53&tablet=1&tid=2007184]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
148ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 251ms |
| total: | 502ms |

| 0 / 0 |
