Этот баннер — требование Роскомнадзора для исполнения 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/search_topic.php?author=Billingist&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
129ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 651ms |
| total: | 895ms |

| 0 / 0 |
