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

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 参考 » 使用 SQL » SQL 语句 » SQL 语句 (P-Z)

 

RETURN 语句

此语句用于从函数、过程或批处理中无条件退出,并可以选择提供返回值。

语法
RETURN [ expression ]
注释

RETURN 语句导致从 SQL 块中立即退出。如果提供了 expression,则 expression 的值作为函数或过程的值返回。

如果 RETURN 出现在内部 BEGIN 块中,则所终止的是外部 BEGIN 块。

RETURN 语句之后的语句不再执行。

在函数中,表达式的数据类型应当与函数的 RETURNS 数据类型相同。

在过程中,使用 RETURN 是为了与 Transact-SQL 兼容,它用于返回整型错误代码。

权限

无。

副作用

无。

另请参见
标准和兼容性
  • SQL/2003   持久存储模块特性。

示例

下面的函数返回三个数字的乘积:

CREATE FUNCTION product (
   a NUMERIC,
   b NUMERIC,
   c NUMERIC )
RETURNS NUMERIC
BEGIN
   RETURN ( a * b * c );
END;

计算三个数字的乘积:

SELECT product(2, 3, 4);
product(2, 3, 4)
24

下面的过程使用 RETURN 语句避免执行复杂查询(如果这样做没有意义的话):

CREATE PROCEDURE customer_products
( in customer_ID integer DEFAULT NULL)
RESULT ( ID integer, quantity_ordered integer )
BEGIN
   IF customer_ID NOT IN (SELECT ID FROM Customers)
   OR customer_ID IS NULL THEN
      RETURN
   ELSE
      SELECT Products.ID,sum(
         SalesOrderItems.Quantity )
      FROM  Products,
            SalesOrderItems,
            SalesOrders
      WHERE SalesOrders.CustomerID=customer_ID
      AND SalesOrders.ID=SalesOrderItems.ID
      AND SalesOrderItems.ProductID=Products.ID
      GROUP BY Products.ID
   END IF
END;