[Chapter 1] 1.6 Conditional and Sequential Control Chapter 1Oracle PL/SQL Language Pocket Reference 1.6 Conditional and Sequential Control PL/SQL includes conditional (IF) structures as well as sequential control (GOTO, NULL) constructs.1.6.1 Conditional Control Statements1.6.1.1 IF-THEN combinationIF condition THEN
executable statement(s)
END IF;For example:IF caller_type = 'VIP' THEN
generate_response('GOLD');
END IF;1.6.1.2 IF-THEN-ELSE combinationIF 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;1.6.1.3 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;1.6.2 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-blockCannot branch into an IF statement, LOOP, or sub-blockCannot branch from one section of an IF statement to another (from the IF/THEN section to the ELSE section is illegal)Cannot branch into or out of a subprogramCannot branch from the exception section to the executable section of a PL/SQL blockCannot branch from the executable section to the exception section of a PL/SQL block, although a RAISE does thisThe NULL statement is an executable statement that does nothing. It is useful when an executable statement must follow a GOTO label or to aid readability in an IF-THEN-ELSE structure. For example:IF :report.selection = 'DETAIL' THEN
exec_detail_report;
ELSE
NULL;
END IF;1.5 Variables and Program Data 1.7 Loops
Copyright (c) 2000 O'Reilly & Associates. All rights reserved.
Wyszukiwarka
Podobne podstrony:
ch01ch01ch01ch01ch01ch01ch01ch01ch01ch01 (2)ch01Ch01 2ch01ch01ch01ch01ch01ch01 (3)ch01więcej podobnych podstron