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