title | description | author | ms.author | ms.date | ms.service | ms.subservice | ms.topic | helpviewer_keywords | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Commands generating multiple-rowset results (OLE DB driver) |
Learn how OLE DB Driver for SQL Server returns multiple rowsets for batched SQL statements and when stored procedures implement batched SQL statements. |
David-Engel |
davidengel |
06/14/2018 |
sql |
connectivity |
reference |
|
[!INCLUDE SQL Server]
[!INCLUDEDriver_OLEDB_Download]
The OLE DB Driver for SQL Server can return multiple rowsets from [!INCLUDEssNoVersion] statements. [!INCLUDEssNoVersion] statements return multiple-rowset results under the following conditions:
-
Batched SQL statements are submitted as a single command.
-
Stored procedures implement a batch of SQL statements.
The OLE DB Driver for SQL Server recognizes the semicolon character as a batch delimiter for SQL statements:
WCHAR* wSQLString = L"SELECT * FROM Categories; "
L"SELECT * FROM Products";
Sending multiple SQL statements in one batch is more efficient than executing each SQL statement separately. Sending one batch reduces the network round trips from the client to the server.
[!INCLUDEssNoVersion] returns a result set for each statement in a stored procedure, so most [!INCLUDEssNoVersion] stored procedures return multiple result sets.