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 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Gespeicherte Prozeduren, Trigger, Batches und benutzerdefinierte Funktionen » Ergebnismengen

 

Möglichkeiten zum Zurückgeben von Ergebnissen als Prozedurparameter

Prozeduren können Ergebnisse in den Parametern für die Prozedur an die aufrufende Umgebung zurückgeben. In einer Prozedur können mithilfe einer der folgenden Methoden Parametern und Variablen Werte zugeordnet werden:

  • SET-Anweisung

    In der nachstehenden Prozedur wird ein Wert in einem OUT-Parameter zurückgegeben, wobei der Wert mit einer SET-Anweisung zugeordnet wird. Sie müssen das CREATE PROCEDURE-Systemprivileg haben, um die folgende Anweisung ausführen zu können:



    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;
  • SELECT-Anweisung mit INTO-Klausel

    Eine einzeilige Abfrage fragt höchstens eine Zeile von der Datenbank ab. Dieser Typ einer Abfrage wird durch eine SELECT-Anweisung mit einer INTO-Klausel durchgeführt. Die INTO-Klausel folgt auf die SELECT-Liste und steht vor der FROM-Klausel. Sie enthält eine Liste der Variablen, die die Werte der einzelnen Elemente aus der SELECT-Liste aufnehmen sollen. Es müssen genauso viele Variablen vorhanden sein wie Elemente in der SELECT-Liste.

    Wenn eine SELECT-Anweisung ausgeführt wird, ruft der Datenbankserver die Ergebnisse der SELECT-Anweisung ab und platziert sie in den Variablen. Falls die Abfrageergebnisse mehr als eine Zeile enthalten, gibt der Datenbankserver einen Fehler zurück. Für Abfragen, die mehr als eine Zeile zurückgeben, muss ein Cursor verwendet werden.

    Wenn durch die Abfrage keine Zeilen ausgewählt werden, werden die Variablen nicht aktualisiert und es wird eine Warnung zurückgegeben.

    Sie benötigen die geeigneten SELECT-Privilegien für das Objekt, um eine SELECT-Anweisung ausführen zu können.

 Beispiel: 1: Erstellen Sie eine Prozedur und wählen Sie ihre Prozedur mit einer SELECT...INTO-Anweisung.
 Beispiel 2: Rückgabe der Ergebnisse einer einzeiligen SELECT-Anweisung
 Siehe auch