產生多個資料列集結果的命令

SQL Server Native Client OLE DB 提供者可以從 SQL Server 陳述式傳回多個資料列集。SQL Server 陳述式在下列條件下會傳回多個資料列集結果:

  • 批次的 SQL 陳述式以單一命令提交。

  • 預存程序實作 SQL 陳述式批次。

  • SQL 陳述式包含 Transact-SQL COMPUTE 或 COMPUTE BY 子句。

批次

SQL Server Native Client OLE DB 提供者將分號字元辨識為 SQL 陳述式的批次分隔符號:

WCHAR*       wSQLString = L"SELECT * FROM Categories; "
                          L"SELECT * FROM Products";

以一個批次傳送多個 SQL 陳述式,比分開執行每個 SQL 陳述式的效率高。傳送單一批次可以減少從用戶端到伺服器的網路往返數。

預存程序

SQL Server 會針對預存程序中的每個陳述式傳回結果集,所以大部分的 SQL Server 預存程序都會傳回多個結果集。

COMPUTE BY 和 COMPUTE

Transact-SQL COMPUTE BY 子句會在 SELECT 陳述式結果集內產生小計。COMPUTE 子句則會在結果集的結尾產生總計。SQL Server Native Client OLE DB 提供者會將每個 COMPUTE BY 小計和 COMPUTE 總計傳回為不同的資料列集結果。

請參閱

概念