生成多个行集结果的命令

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 总计作为单独的行集结果返回。

请参阅

概念