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

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Referenzhandbuch » Verwendung von SQL » SQL-Anweisungen » SQL-Anweisungen (P-Z)

 

RETURN-Anweisung

Mit dieser Anweisung beenden Sie eine Funktion, Prozedur oder einen Batch bedingungslos und geben optional einen Rückgabewert aus.

Syntax
RETURN [ Ausdruck ]
Bemerkungen

Eine RETURN-Anweisung verursacht die sofortige Beendigung eines SQL-Blocks. Wenn Ausdruck angegeben ist, wird der Wert für Ausdruck als Wert der Funktion oder der Prozedur zurückgegeben.

Wenn RETURN in einem inneren BEGIN-Blocks erscheint, ist es der äußere BEGIN-Block, der beendet wird.

Anweisungen, die auf RETURN folgen, werden nicht ausgeführt.

Innerhalb einer Funktion sollte der Ausdruck denselben Datentyp haben wie der Rückgabedatentyp der Funktion.

RETURN wird in Prozeduren für Transact-SQL-Kompatibilität und zur Zurücksendung eines Ganzzahlfehlercodes verwendet.

Berechtigungen

Keine.

Nebenwirkungen

Keine.

Siehe auch
Standards und Kompatibilität
  • SQL/2003   Persistent Stored Module-Funktion.

Beispiel

Die folgende Funktion gibt das Produkt aus drei Zahlen zurück:

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

Produkt aus drei Zahlen errechnen:

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

Die folgende Prozedur verwendet die RETURN-Anweisung, um die Ausführung einer komplexen Abfrage zu vermeiden, wenn sie bedeutungslos ist:

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;