Что такое курсор в SQL и когда его целесообразно использовать?
Уровень: Middle
Ответ
Курсор – механизм построчного доступа к результату запроса. Он позволяет обходить набор данных запись за записью, выполнять для каждой какие-то действия. Использование курсоров оправдано, когда необходимо последовательное построчное вычисление внутри базы, которое трудно или невозможно выразить одним SQL-запросом (например, сложные вычисления с состоянием между строками). Однако курсоры работают медленно по сравнению с наборными операциями, поэтому в СУБД их стараются избегать. В основном их применяют в хранимых процедурах для специфических алгоритмов, когда наборными (set-based) средствами задачу решить крайне сложно.