您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

Transact-SQL 过程的结果集

SAP SQL Anywhere、SAP IQ 过程和 Transact-SQL 过程返回结果集的方式有所不同。

SAP SQL Anywhere 和 SAP IQ 使用 RESULT 子句指定返回的结果集。

在 Transact-SQL 过程中,第一个查询的列名或别名将返回到调用环境中。

以下 Transact-SQL 过程说明了 Transact-SQL 存储过程如何返回结果集:

CREATE PROCEDURE showdept (@deptname varchar(30))

AS

SELECT Employees.Surname, Employees.GivenName

FROM Departments, Employees

WHERE Departments.DepartmentName = @deptname

AND Departments.DepartmentID = Employees.DepartmentID

以下为相应的 SAP SQL Anywhere 或 SAP IQ 过程:

CREATE PROCEDURE showdept(in deptname varchar(30))

RESULT ( lastname char(20), firstname char(20))

BEGIN

SELECT Employees.Surname, Employees.GivenName

FROM Departments, Employees

WHERE Departments.DepartmentName = deptname

AND Departments.DepartmentID = Employee.DepartmentID

END

客户端工具向客户端提供多个结果的方式略有不同:

  • isql 在一个流中显示所有结果。

  • Interactive SQL 在单独的选项卡上显示每个结果集。您必须在“选项”菜单中启用此功能。将它设为永久更改,然后重新启动或重新连接到 Interactive SQL。