User's Guide
Part VI. SQL Anywhere Reference
Chapter 43. Watcom-SQL StatementsProvide conditional execution of SQL statements.
IF search-condition THEN statement-list
... [ ELSE IF search-condition THEN statement-list ] ...
... [ ELSE statement-list ]
... END IF
Procedures, triggers, and batches.
None.
None.
The IF statement is a control statement that allows you to conditionally execute the first list of SQL statements whose search-condition evaluates to TRUE. If no search-condition evaluates to TRUE, and an ELSE clause exists, the statement-list in the ELSE clause is executed. If no search-condition evaluates to TRUE, and there is no ELSE clause, the expression returns a NULL value.
Execution resumes at the first statement after the END IF.
CREATE PROCEDURE TopCustomer (OUT TopCompany CHAR(35), OUT TopValue INT)BEGINDECLARE err_notfound EXCEPTIONFOR SQLSTATE '02000' ;DECLARE curThisCust CURSOR FORSELECT company_name, CAST( sum(sales_order_items.quantity *product.unit_price) AS INTEGER) VALUEFROM customerLEFT OUTER JOIN sales_orderLEFT OUTER JOIN sales_order_itemsLEFT OUTER JOIN productGROUP BY company_name ;DECLARE ThisValue INT ;DECLARE ThisCompany CHAR(35) ;SET TopValue = 0 ;OPEN curThisCust ;CustomerLoop:LOOPFETCH NEXT curThisCustINTO ThisCompany, ThisValue ;IF SQLSTATE = err_notfound THENLEAVE CustomerLoop ;END IF ;IF ThisValue > TopValue THENSET TopValue = ThisValue ;SET TopCompany = ThisCompany ;END IF ;END LOOP CustomerLoop ;CLOSE curThisCust ;END