Batches von Anweisungen
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL verwaltete Instanz Azure Synapse Analytics Analytics Platform System (PDW)
Ein Batch von Transact-SQL-Anweisungen enthält zwei oder mehr Anweisungen, getrennt durch ein Semikolon (;), in eine einzelne Zeichenfolge integriert, die an SQLExecDirect oder SQLPrepare Function übergeben wird. Zum Beispiel:
SQLExecDirect(hstmt,
"SELECT * FROM Authors; SELECT * FROM Titles",
SQL_NTS);
Batches können effizienter als das Senden getrennter Anweisungen sein, da der Netzwerkdatenverkehr dadurch meist reduziert wird. Verwenden Sie SQLMoreResults , um die Position im nächsten Resultset abzurufen, wenn sie mit dem aktuellen Resultset fertig gestellt wurde.
Batches können immer dann verwendet werden, wenn die ODBC-Cursorattribute auf die Standardeinstellungen eines schreibgeschützten Vorwärtscursors mit der Rowsetgröße 1 festgelegt wurden.
Wenn beim Verwenden von Servercursorn für SQL Server ein Batch ausgeführt wird, wird der Servercursor implizit in einen Standardergebnissatz konvertiert. SQLExecDirect oder SQLExecute geben SQL_SUCCESS_WITH_INFO zurück, und ein Aufruf von SQLGetDiagRec gibt Folgendes zurück:
szSqlState = "01S02", pfNativeError = 0
szErrorMsg = "[Microsoft][SQL Server Native Server Native Client]Cursor type changed."