Mit dieser Anweisung kontrollieren Sie die bedingte Ausführung von SQL-Anweisungen.
IF Suchbedingung THEN Anweisungsliste [ ELSEIF { Suchbedingung | Vorgangstyp } THEN Anweisungsliste ] ... [ ELSE Anweisungsliste ] { END IF | ENDIF }
Die IF-Anweisung ist eine Steueranweisung, mit der Sie bedingt die erste Liste von SQL-Anweisungen ausführen können, deren Suchbedingung mit TRUE bewertet wird. Wenn keine Suchbedingung mit TRUE bewertet wird, und eine ELSE-Klausel vorhanden ist, wird die Anweisungsliste in der ELSE-Klausel ausgeführt.
Die Ausführung wird bei der ersten Anweisung nach END IF wieder aufgenommen.
Verwechseln Sie die Syntax des IF-Ausdrucks nicht mit der Syntax der IF-Anweisung.
Hinweise zum IF-Ausdruck finden Sie unter IF-Ausdrücke.
Keine.
Keine.
SQL/2003 Persistent Stored Module-Funktion.
Die folgende Prozedur veranschaulicht die Verwendung der IF-Anweisung:
CREATE PROCEDURE TopCustomer2 (OUT TopCompany CHAR(35), OUT TopValue INT) BEGIN DECLARE err_notfound EXCEPTION FOR SQLSTATE '02000'; DECLARE curThisCust CURSOR FOR SELECT CompanyName, CAST( sum(SalesOrderItems.Quantity * Products.UnitPrice) AS INTEGER) VALUE FROM Customers LEFT OUTER JOIN SalesOrders LEFT OUTER JOIN SalesOrderItems LEFT OUTER JOIN Products GROUP BY CompanyName; DECLARE ThisValue INT; DECLARE ThisCompany CHAR(35); SET TopValue = 0; OPEN curThisCust; CustomerLoop: LOOP FETCH NEXT curThisCust INTO ThisCompany, ThisValue; IF SQLSTATE = err_notfound THEN LEAVE CustomerLoop; END IF; IF ThisValue > TopValue THEN SET TopValue = ThisValue; SET TopCompany = ThisCompany; END IF; END LOOP CustomerLoop; CLOSE curThisCust; END; |
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |