Использование курсоров (ODBC)

ODBC поддерживает модель курсора, которая позволяет следующее.

  • Несколько типов курсоров.

  • Прокрутку и позиционирование в курсоре.

  • Несколько параметров параллелизма.

  • Позиционированные обновления.

Приложения ODBC редко декларируют и открывают курсоры или используют любые связанные с курсорами инструкции Transact-SQL. ODBC автоматически открывает курсор для каждого возвращенного результирующего набора из инструкции SQL. Характеристики курсоров управляются атрибутами инструкции, которые устанавливаются при помощи функции SQLSetStmtAttr перед выполнением инструкции SQL. Функции API ODBC для обработки результирующих наборов поддерживают полный набор функций работы с курсором, включая выборку, прокрутку и позиционированные обновления.

Далее приведено сравнение работы с курсорами в сценариях Transact-SQL и приложениях ODBC.

Действие

Transact-SQL

Интерфейс ODBC

Определение режима работы курсоров

Указание через параметры DECLARE CURSOR

Установка атрибутов курсора с помощью инструкции SQLSetStmtAttr

Открытие курсора

DECLARE CURSOR OPEN имя_курсора

SQLExecDirect или SQLExecute

Выборка строк

FETCH

SQLFetch или SQLFetchScroll

Позиционированное обновление

Предложение WHERE CURRENT OF для инструкции UPDATE или DELETE.

Функция SQLSetPos

Закрытие курсора

CLOSE имя_курсора DEALLOCATE

SQLCloseCursor

Серверные курсоры, реализованные в SQL Server, поддерживают функции модели курсора ODBC. Драйвер для собственного клиента SQL Server использует серверные курсоры для поддержки функций работы с курсорами API ODBC.