Поделиться через


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

Пакет инструкций 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."  

См. также:

Выполнение инструкций (ODBC)