Cursor — server-side row-by-row iterator над result set. Шаги: DECLARE → OPEN → FETCH → process → CLOSE → DEALLOCATE.
Разбор
- Удобен для procedural logic, но медленнее set-based SQL.
- Блокирует ресурсы; на больших наборах — anti-pattern.
- Современная альтернатива: set operations, window functions, CTE.
- Использовать только когда row-at-a-time неизбежен.
Итог
Cursor = построчная обработка; set-based SQL почти всегда лучше.