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

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
01.06.2006, 10:19
|
|||
|---|---|---|---|
Динамический запрос со строкой с кавычками |
|||
|
#18+
В процедуру (pl/pgsql - pg 8.1.3) передается строка, содержащая кавычки (при передаче в эту функцию кавычки удвоены). Эта же строка участвует в формировании динамического запроса. При выполнении происходит синтаксическая ошибка - кавычки одинарные, что и можно ожидать. Как делать правильно? Я могу конечно извратиться и опять их удвоить, но может есть ПРАВИЛЬНОЕ решение? Код вроде этого: CREATE OR REPLACE FUNCTION XXX(str_ "varchar") RETURNS void AS $BODY DECLARE s "varchar"; $BEGIN s := 'UPDATE x_table SET name=''' || str_ || ''' '; RAISE NOTICE 'query: %',s; EXECUTE s; RETURN; END;$BODY$ LANGUAGE 'plpgsql' VOLATILE; вызывается так SELECT XXX('my ''''''x-string'); --6 кавычек ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.06.2006, 10:22
|
|||
|---|---|---|---|
|
|||
Динамический запрос со строкой с кавычками |
|||
|
#18+
s := 'UPDATE x_table SET name=''' || quote_literal(str_) || ''' '; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.06.2006, 10:24
|
|||
|---|---|---|---|
|
|||
Динамический запрос со строкой с кавычками |
|||
|
#18+
точнее, так (лишние кавыки :) s := 'UPDATE x_table SET name=' || quote_literal(str_) ; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=53&tablet=1&tid=2006337]: |
0ms |
get settings: |
7ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
2ms |
| others: | 254ms |
| total: | 379ms |

| 0 / 0 |
