除了在单独的参数中将结果返回给调用环境外,过程还可以结果集的形式返回信息。结果集通常是查询的结果。以下过程返回包含指定部门中每个雇员的薪水的结果集:
CREATE PROCEDURE SalaryList( IN department_id INT ) RESULT ( "Employee ID" INT, Salary NUMERIC(20,3) ) BEGIN SELECT EmployeeID, Salary FROM Employees WHERE Employees.DepartmentID = department_id; END; |
如果 Interactive SQL 调用此过程,则 RESULT 子句中的姓名与查询的结果对应,用作所显示结果中的列标题。
要从 Interactive SQL 测试此过程,可以利用 CALL 语句调用该过程,并指定公司的某一部门。在 Interactive SQL 中,结果会出现在 [结果] 窗格的 [结果] 选项卡中。
要列出研发部门(部门 ID 为 100)中雇员的薪水,请键入以下命令:
CALL SalaryList( 100 ); |
Employee ID | Salary |
---|---|
102 | 45700.000 |
105 | 62000.000 |
160 | 57490.000 |
243 | 72995.000 |
... | ... |
只有在 [选项] 窗口的 [结果] 选项卡上启用返回多个结果集选项,Interactive SQL 才能返回多个结果集。每个结果集在 [结果] 窗格中均出现在单独的选项卡上。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |