Conditional and Sequential Control
PL/SQL includes conditional (IF) structures as well as sequential control (GOTO, NULL) constructs.
Conditional Control Statements
IF-THEN combination
IF condition THEN executable statement(s) END IF;
For example:
IF caller_type = 'VIP' THEN generate_response('GOLD'); END IF;
IF-THEN-ELSE combination
IF condition THEN TRUE sequence_of_executable_statement(s) ELSE FALSE/NULL sequence_of_executable_statement(s) END IF;
For example:
IF caller_type = 'VIP' THEN generate_response('GOLD'); ELSE generate_response('BRONZE'); END IF;
IF-THEN-ELSIF combination
IF condition-1 THEN statements-1 ELSIF condition-N THEN statements-N [ELSE else statements] END IF;
For example:
IF caller_type = 'VIP' THEN generate_response('GOLD'); ELSIF priority_client THEN generate_response('SILVER'); ELSE generate_response('BRONZE'); END IF;
Sequential Control Statements
The GOTO statement performs unconditional branching to a named label. It should be used rarely. At least one executable statement must follow the label (the NULL statement can be this necessary executable statement). The format of a GOTO statement is:
GOTO label_name; |
The format of the label is:
<<label_name>> |
There are a number of scope restrictions on where a GOTO can branch control. A GOTO:
Can branch out of an IF statement, LOOP, or sub-block
Cannot branch into an IF statement, LOOP, or sub-block
Cannot branch from one section of an IF statement to another (from the IF/THEN section to the ELSE section is illegal)
Cannot branch ...
Get Oracle PL/SQL Language Pocket Reference now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.