|
Как выполнить динамический SELECT внутри функции ?
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4.
В справке рассматриваются только 2 варианта выполнения SELECT: 1) Статический SELECT-запрос 2) Динамический SELECT-запрос с плейсхолдерами ($1, $2) и USING В моём случае запрос динамический, но без плейсхолдеров ($1, $2) и без USING... Результат выполнения запроса нужно присвоить переменной coord . ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2021, 20:08 |
|
Как выполнить динамический SELECT внутри функции ?
|
|||
---|---|---|---|
#18+
Чёрт блин, это он не на EXECUTE ругался, а на ";" в строке 'SRID=4326;POINT(0 0)': Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2021, 20:21 |
|
Как выполнить динамический SELECT внутри функции ?
|
|||
---|---|---|---|
#18+
Cyrax_02, Да какой же у вас без placeholders если их у вас там два.... и вы как раз и получаете проблемы из за того что не хотите их использовать а извращаетесь с format (чего делать вместо USING 100% не стоит) 'SRID=4326;POINT(0 0)', srid - это и есть placeholders у вас... Код: plsql 1.
-- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2021, 20:56 |
|
Как выполнить динамический SELECT внутри функции ?
|
|||
---|---|---|---|
#18+
Maxim BogukДа какой же у вас без placeholders если их у вас там два....> В моём случае запрос динамический, но без плейсхолдеров ($1, $2) и... Т.е. в моём примере нет плейсхолдеров, используемых командой EXECUTE (но можно их ввести, как вы показали в вашем примере). Maxim Bogukи вы как раз и получаете проблемы из за того что не хотите их использовать а извращаетесь с format (чего делать вместо USING 100% не стоит) Код: sql 1.
Да, так проще. Но только в данном примере. Если подставляются имена таблиц, полей и прочих объектов БД, то такой вариант работать не будет. У меня практически все динамические запросы с подстановкой имён полей и таблиц - там без format не обойтись. Поэтому и здесь по привычке через format начал писать... P.S . Можно час сидеть копаться с какой-то проблемой из-за какого-нибудь таракана. Но как только напишешь на форуме, сразу находишь решение. Вот если бы наоборот... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2021, 01:53 |
|
Как выполнить динамический SELECT внутри функции ?
|
|||
---|---|---|---|
#18+
Cyrax_02, авторЕсли подставляются имена таблиц, полей и прочих объектов БД, то такой вариант работать не будет. вот их и надо подставлять (очень аккуратно чтобы sql injection не наловить) через format а параметры/значения должны ВСЕГДА подставляться через USING т.е. вполне может быть execute с format и с using одновременно и это правильно если задача требует. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2021, 10:37 |
|
|
start [/forum/topic.php?fid=53&msg=40036095&tid=1994266]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
53ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 153ms |
0 / 0 |