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
客户端工具向客户端提供多个结果的方式略有不同: