HP 3000 Manuals

IF [ ALLBASE/SQL Reference Manual ] MPE/iX 5.5 Documentation


ALLBASE/SQL Reference Manual

IF 

The IF statement is used to allow conditional execution of one or more
statements within a procedure.

Scope 

Procedures only

SQL Syntax 

IF Condition THEN [Statement;[...]]

[ELSEIF Condition THEN [Statement; [...]]]  [ELSE [Statement; [...]]]

ENDIF;

Parameters 

Condition               specifies anything that is allowed in a search
                        condition except subqueries, column references,
                        host variables, dynamic parameters, aggregate
                        functions, string functions, date/time functions
                        involving column references, long column
                        functions, or TID functions.  Local variables,
                        built-in variables, and parameters may be
                        included.  See the "Search Conditions" chapter
                        for more information.

Statement               is any statement allowed in a procedure,
                        including a compound statement.  The statement
                        may also be empty.

Description 

   *   IF statements can be nested.  In a nested IF statement, each ELSE
       is associated with the closest preceding IF.

   *   Local variables, and parameters can be used anywhere a host
       variable would be allowed.

   *   Each Statement may be a single simple statement, a compound
       statement, or empty.

Authorization 

Anyone can use the IF statement.

Example 

Create a procedure to enter orders into different tables according to the
size of the order:

     CREATE PROCEDURE OrderEntry (PartName CHAR(20) NOT NULL,
           Quantity INTEGER NOT NULL) AS
        BEGIN
           IF :Quantity < 100 THEN
               INSERT INTO SmallOrders
               VALUES (:PartName, :Quantity);
           ELSE
               INSERT INTO LargeOrders
               VALUES (:PartName, :Quantity);
           ENDIF;
        END

Execute the procedure with different parameters.  The first execution
adds a row to the LargeOrders table.

        EXECUTE PROCEDURE Reorder ('Widget', 1500)

The second execution adds a row to the SmallOrders table.

        EXECUTE PROCEDURE Reorder ('Widget', 15)



MPE/iX 5.5 Documentation