Пакеты инструкций

Пакет инструкций Transact-SQL содержит две или более инструкции, разделенные точками с запятой (;), объединенные в единую строку, которая передается SQLExecDirect или SQLPrepare. Например,

SQLExecDirect(hstmt,     "SELECT * FROM Authors; SELECT * FROM Titles",    SQL_NTS);

Пакеты могут быть более эффективными, чем отправка инструкций по одной, так как они часто уменьшают требуемый сетевой трафик. Для перехода к следующему результирующему набору после завершения обработки текущего используется SQLMoreResults.

Пакеты инструкций всегда можно использовать, если атрибуты курсора ODBC установлены по умолчанию (однопроходный курсор только для чтения), а размер набора строк равен 1.

Если инструкция выполняется в SQL Server, с помощью серверных курсоров, то серверный курсор неявно преобразуется в результирующий набор по умолчанию. SQLExecDirect и SQLExecute возвращают SQL_SUCCESS_WITH_INFO, а вызов SQLGetDiagRec возвращает

szSqlState = "01S02", pfNativeError = 0szErrorMsg = "[Microsoft][SQL Server Native Server Native Client]Cursor type changed."

См. также

Основные понятия