|
Функция с рекордсетом
|
|||
---|---|---|---|
#18+
Всем привет! Пытаюсь создать функцию на сервере MySql Внутри неё мне нужно получить выборку из запроса и сделать по ней цикл Будь я в Access, я бы сделал так: Dim rst as Recordset Код: vbnet 1. 2. 3. 4.
Можно ли такое вытворять на MySql? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2019, 09:54 |
|
Функция с рекордсетом
|
|||
---|---|---|---|
#18+
НастаевПытаюсь создать функцию на сервере MySql Внутри неё мне нужно получить выборку из запроса и сделать по ней циклЭто делается курсором. https://dev.mysql.com/doc/refman/8.0/en/cursors.html Вот только в подавляющем большинстве случаев использования курсоров оказывается, что они избыточны. Так что рекомендую описать всю задачу. Что должна сделать функция? может, итерации-то и не нужны? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2019, 11:49 |
|
Функция с рекордсетом
|
|||
---|---|---|---|
#18+
Akina, может и не нужны. Можно и простым Select-ом обойтись с вложенными запросами. Но я думал. что будет быстрее, через Recordset. Попробую объяснить задачу... Я несколько раз покупал товар. Это заносится в таблицу "Заявки" в поля "Товар" и "кол-во". В запросе я ставлю фильтр на нужный мне товар и вывожу сумму с накоплением в каждой строке. Мне нужно выдать строку, сумма накопления в которой будет равна той, что мне нужно. Та вот для того, чтобы вывести сумму с накоплением, я делаю вложенный запрос. Но я решил без этого обойтись, дабы ускорить процесс. В Recordset-е можно просто сделать цикл и накапливать сумму в переменной. В нужный момент я спрыгиваю с цикла и возвращаю результат. Надеюсь, что не слишком запутанно. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2019, 12:06 |
|
Функция с рекордсетом
|
|||
---|---|---|---|
#18+
В запросе тоже можно использовать переменные для получения суммы с накоплением. А если версия сервера восьмая - так там есть оконные функции, которые делают это вообще по щелчку пальцев. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2019, 12:34 |
|
Функция с рекордсетом
|
|||
---|---|---|---|
#18+
Спс, буду разбираться. Похоже, что мне ещё много литературы нужно перечитать, пока я догоню синтакс MySql. После VBA это сложно. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2019, 12:45 |
|
Функция с рекордсетом
|
|||
---|---|---|---|
#18+
НастаевПосле VBA это сложно.Синтаксис - фигня. Самое сложное - перестать мыслить итерациями и начать мыслить массивами. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2019, 12:52 |
|
|
start [/forum/topic.php?fid=47&msg=39871618&tid=1828937]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
59ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 298ms |
total: | 437ms |
0 / 0 |