Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 (中文) » SQL Anywhere 服务器 - SQL 用法 » 存储过程、触发器、批处理和用户定义的函数 » 结果集

 

将结果作为过程参数返回的方法

过程可以将结果作为作用于该过程的参数返回到调用环境中。在过程内,可以采用以下方式为参数和变量指派值:

  • SET 语句

    以下过程使用 SET 语句将值返回到指派的 OUT 参数中。您必须具有 CREATE PROCEDURE 系统特权才能执行以下语句:



    CREATE PROCEDURE greater( 
       IN a INT,
       IN b INT,
       OUT c INT )
    BEGIN
       IF a > b THEN
          SET c = a;
       ELSE
          SET c = b;
       END IF ;
    END;
  • 具有 INTO 子句的 SELECT 语句

    单行查询最多从数据库中检索一行。此类型的查询将 SELECT 语句与 INTO 子句一起使用。INTO 子句跟随在 SELECT 列表之后,位于 FROM 子句之前。它包含一组变量,用于为各个 SELECT 列表项检索值。变量的数目必须与 SELECT 列表项的数目相同。

    在执行 SELECT 语句时,数据库服务器会检索 SELECT 语句的结果并将这些结果放置在变量中。如果查询结果包含多个行,则数据库服务器会返回一个错误。对于返回多行的查询,必须使用游标。

    如果查询结果中没有选定的行,则不更新变量并将返回警告。

    您必须具有对象的相应 SELECT 特权才能执行 SELECT 语句。

 示例 1:创建一个过程并使用 SELECT...INTO 语句选择其结果
 示例 2:返回单行 SELECT 语句的结果
 另请参见