powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Функция с рекордсетом
7 сообщений из 7, страница 1 из 1
Функция с рекордсетом
    #39871485
Настаев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!

Пытаюсь создать функцию на сервере MySql
Внутри неё мне нужно получить выборку из запроса и сделать по ней цикл
Будь я в Access, я бы сделал так:
Dim rst as Recordset
Код: vbnet
1.
2.
3.
4.
Set rst = CodeDb.OpenRecordset(запрос)
While Not rst.EOF
    rst.MoveNext
Wend


Можно ли такое вытворять на MySql?
...
Рейтинг: 0 / 0
Функция с рекордсетом
    #39871556
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НастаевПытаюсь создать функцию на сервере MySql
Внутри неё мне нужно получить выборку из запроса и сделать по ней циклЭто делается курсором.
https://dev.mysql.com/doc/refman/8.0/en/cursors.html

Вот только в подавляющем большинстве случаев использования курсоров оказывается, что они избыточны. Так что рекомендую описать всю задачу. Что должна сделать функция? может, итерации-то и не нужны?
...
Рейтинг: 0 / 0
Функция с рекордсетом
    #39871576
Настаев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina, может и не нужны. Можно и простым Select-ом обойтись с вложенными запросами. Но я думал. что будет быстрее, через Recordset. Попробую объяснить задачу...

Я несколько раз покупал товар. Это заносится в таблицу "Заявки" в поля "Товар" и "кол-во". В запросе я ставлю фильтр на нужный мне товар и вывожу сумму с накоплением в каждой строке. Мне нужно выдать строку, сумма накопления в которой будет равна той, что мне нужно. Та вот для того, чтобы вывести сумму с накоплением, я делаю вложенный запрос. Но я решил без этого обойтись, дабы ускорить процесс. В Recordset-е можно просто сделать цикл и накапливать сумму в переменной. В нужный момент я спрыгиваю с цикла и возвращаю результат.
Надеюсь, что не слишком запутанно.
...
Рейтинг: 0 / 0
Функция с рекордсетом
    #39871604
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В запросе тоже можно использовать переменные для получения суммы с накоплением.
А если версия сервера восьмая - так там есть оконные функции, которые делают это вообще по щелчку пальцев.
...
Рейтинг: 0 / 0
Функция с рекордсетом
    #39871612
Настаев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спс, буду разбираться. Похоже, что мне ещё много литературы нужно перечитать, пока я догоню синтакс MySql. После VBA это сложно.
...
Рейтинг: 0 / 0
Функция с рекордсетом
    #39871618
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НастаевПосле VBA это сложно.Синтаксис - фигня. Самое сложное - перестать мыслить итерациями и начать мыслить массивами.
...
Рейтинг: 0 / 0
Функция с рекордсетом
    #39871743
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Настаевсинтакс MySql. После VBA это сложно.это просто. не надо народ пугать.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Функция с рекордсетом
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]