Пакеты инструкций
Применимо: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure azure Synapse Analytics Analytics Platform System (PDW)
Пакет инструкций 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 = 0
szErrorMsg = "[Microsoft][SQL Server Native Server Native Client]Cursor type changed."