|
Динамические запросы в функциях или как вернуть значение из функции
|
|||
---|---|---|---|
#18+
Здравствуйте. Есть обычное дерево id, parent_id, name. Нужно написать процедуру/функцию которая возвращает потомков для указанных узлов со степенью вложенности 3 например. Для того, чтобы найти 3ю степень вложенности, нужно перебрать 2ю, взять их ийдишки и найти найдишки для 3й степени вложенности. Как это сделать правильно? Функция подобной этой не работает Код: sql 1. 2. 3. 4. 5.
Потому что в IN я не могу напрямую передать строку с идентификаторами, mysql ее не воспринимает как набор значений. Делать диманические запросы execute в функциях нельзя. Как можно решить такую задачу? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2019, 18:56 |
|
Динамические запросы в функциях или как вернуть значение из функции
|
|||
---|---|---|---|
#18+
Укажите точную версию сервера. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2019, 07:51 |
|
Динамические запросы в функциях или как вернуть значение из функции
|
|||
---|---|---|---|
#18+
pr0n1xсо степенью вложенности 3 напримерЕсли вложенность ограничена сверху, то не нужны ни функция, ни динамический запрос - задача решается одним запросом с нужным количеством джойнов таблицы самой с собой. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2019, 08:06 |
|
Динамические запросы в функциях или как вернуть значение из функции
|
|||
---|---|---|---|
#18+
AkinaУкажите точную версию сервера. MySql 5.5 - with recursive не поддерживается ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2019, 10:18 |
|
Динамические запросы в функциях или как вернуть значение из функции
|
|||
---|---|---|---|
#18+
miksoftpr0n1xсо степенью вложенности 3 напримерЕсли вложенность ограничена сверху, то не нужны ни функция, ни динамический запрос - задача решается одним запросом с нужным количеством джойнов таблицы самой с собой. В том то и дело, что вложенность не ограничена ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2019, 10:20 |
|
Динамические запросы в функциях или как вернуть значение из функции
|
|||
---|---|---|---|
#18+
pr0n1xвложенность не ограниченаВ т.ч. и вложенность которая может быть затребована? Ну тогда да, процедура, внутри цикл и временная таблица. Цикл - типа FOR (эмулируем, ибо именно такого синтаксис не предусмотрел). Копируем во временную таблицу записи первого уровня. Затем в цикле вставляем в неё всех потомков уже имеющихся в ней записей (с игнором повторов), связывая её с исходной таблицей. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2019, 10:30 |
|
|
start [/forum/topic.php?fid=47&msg=39785729&tid=1829260]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
139ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
others: | 332ms |
total: | 546ms |
0 / 0 |