生成多个行集结果的命令
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 总计作为单独的行集结果返回。