Rephrase Conditional Control Statements
When computing a logical expression, the PL/SQL uses short-circuit evaluation. That is, the PL/SQL stops evaluating the expression as soon as the result can be determined. For illustration, in the OR expression below, when the value of sal is less than 1500, the left operand yields TRUE, Therefore PL/SQL need not evaluate the right operand (as OR returns TRUE if either of its operands is true):
IF (sal < 1500) OR (comm IS NULL) THEN
...
END IF;
Now, consider the AND expression shown below:
IF credit_ok(cust_id) AND (loan < 5000) THEN
...
END IF;
The Boolean function credit_ok is forever called. Though, if you switch the operands of AND as shown:
IF (loan < 5000) AND credit_ok(cust_id) THEN
...
END IF;
The function is called only if the expression loan < 5000 is true (as AND returns TRUE only if both its operands are true). The similar idea applies to the EXIT-WHEN statements.