Курсор SQL: 23 шагов к эффективному написанию запросов без сложностей
Есть такой особый тип боли, который знают все, кто хоть раз писал нечто сложнее простого SELECT. Ты открываешь SQL Server Management Studio или Oracle SQL Developer, смотришь на задачу «обработать по очереди миллион строк» и думаешь: «Ну всё, нужен курсор sql, ща сделаю красиво». А потом запрос крутится, база задыхается, продакшн шепчет последнее «прощайте», а ты вглядываешься в код и пытаешься понять, где именно ты повернул не туда. Иногда в этот момент хочется вообще уйти в выращивание помидоров, но платёжка за сервер как-то возвращает к реальности...
512 читали · 1 год назад
Как передавать и использовать курсоры в хранимых процедурах (в SQL)?
В реляционных базах данных курсор используется для поэтапного обхода набора строк, возвращаемого запросом. В хранимых процедурах курсоры могут быть полезны для последовательной обработки каждой строки результата запроса, когда невозможно или нецелесообразно обработать их все одновременно. Ниже приводится общая схема работы с курсорами в хранимых процедурах на примере MySQL: Курсор объявляется в блоке DECLARE внутри хранимой процедуры, и он должен быть объявлен после всех объявлений переменных, но до операторов управления потоком (например, LOOP, IF и т...