RESULT 子句在过程中是可选的。通过省略 RESULT 子句,可以编写返回不同结果集的过程,结果集中可以有不同数目或类型的列,具体情况取决于过程的执行方式。
如果不使用可变结果集功能,则出于性能方面的原因,应使用 RESULT 子句。
例如,如果输入变量为 Y,以下过程返回两列,否则只返回一列。
CREATE PROCEDURE Names( IN formal char(1) ) BEGIN IF formal = 'y' THEN SELECT Surname, GivenName FROM Employees ELSE SELECT GivenName FROM Employees END IF END; |
过程中可变结果集的使用受到某些限制,具体限制取决于客户端应用程序所使用的接口。
嵌入式 SQL 要获取正确形式的结果集,必须在打开用于结果集的游标之后、但在返回任何行之前对过程调用执行 DESCRIBE。
有关 DESCRIBE 语句的详细信息,请参见DESCRIBE 语句 [Interactive SQL]。
ODBC ODBC 应用程序可以使用可变结果集过程。SQL Anywhere ODBC 驱动程序会对可变结果集进行适当的描述。
Open Client 应用程序 Open Client 应用程序可以使用可变结果集过程。SQL Anywhere 会对可变结果集进行适当的描述。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |