➡ Click here: For loop in pl sql
END IF; END LOOP; END main; The same scope rules apply to nested FOR loops. If the value of the selector equals the value of a WHEN-clause expression, that WHEN clause is executed. An example follows: WHILE total 10 THEN...
What is For Loop. Also, its WHEN clauses contain north conditions that yield a Boolean value, not expressions that can yield a value of any type. The language includes several collection used to manipulate collection elements: for example FIRST, LAST, NEXT, PRIOR, EXTEND, TRIM, DELETE, etc. Collectively, these structures can handle any situation. Unsourced material may be met and removed. A FOR LOOP is a repetition control structure that allows you to efficiently write a loop that needs to execute a specific number of times. When you exit a cursor FOR loop, the cursor is closed automatically even if you use an EXIT or GOTO statement to social the loop prematurely. The execution of statements in the WHILE loop can be controlled from inside the loop with the BREAK and CONTINUE keywords. For example, the following GOTO statement is not allowed: BEGIN.
Figure 4-1 Control Structures The selection structure tests a condition, then executes one sequence of statements instead of another, depending on whether the condition is true or false. The loop variable is self-incremental, so no explicit increment operation is needed in this loop.
PL/SQL - Loops - You cannot refer to another record with the same name inside the loop unless you qualify the reference using a block label. Remarks If two or more WHILE loops are nested, the inner BREAK exits to the next outermost loop.
You learn how statements are connected by simple but powerful control structures that have a single entry and exit point. Collectively, these structures can handle any situation. Their proper use leads naturally to a well-structured program. They can be combined in any way necessary to deal with a given problem. Figure 4-1 Control Structures The selection structure tests a condition, then executes one sequence of statements instead of another, depending on whether the condition is true or false. A condition is any variable or expression that returns a Boolean value TRUE or FALSE. The iteration structure executes a sequence of statements repeatedly as long as a condition holds true. The sequence structure simply executes a sequence of statements in the order in which they occur. Conditional Control: IF and CASE Statements Often, it is necessary to take alternative actions depending on circumstances. The IF statement lets you execute a sequence of statements conditionally. That is, whether the sequence is executed or not depends on the value of a condition. There are three forms of IF statements: IF-THEN, IF-THEN-ELSE, and IF-THEN-ELSIF. The CASE statement is a compact way to evaluate a single condition and choose between many alternative actions. If the condition is false or null, the IF statement does nothing. In either case, control passes to the next statement. Thus, the ELSE clause ensures that a sequence of statements is executed. END IF; The THEN and ELSE clauses can include IF statements. An IF statement can have any number of ELSIF clauses; the final ELSE clause is optional. Conditions are evaluated one by one from top to bottom. If any condition is true, its associated sequence of statements is executed and control passes to the next statement. If all conditions are false or null, the sequence in the ELSE clause is executed. Consider the following example: BEGIN... Nevertheless, bonus is assigned the proper value of 1500 because the second condition is never tested. When the first condition is true, its associated statement is executed and control passes to the INSERT statement. CASE Statement Like the IF statement, the CASE statement selects one sequence of statements to execute. However, to select the sequence, the CASE statement uses a selector rather than multiple Boolean expressions. Recall from that a selector is an expression whose value is used to select one of several alternatives. In each instance, we test whether the same variable, grade, is equal to one of five values: 'A', 'B', 'C', 'D', or 'F'. So, when possible, rewrite lengthy IF-THEN-ELSIF statements as CASE statements. The CASE statement begins with the keyword CASE. The keyword is followed by a selector, which is the variable grade in the last example. The selector expression can be arbitrarily complex. For example, it can contain function calls. Usually, however, it consists of a single variable. The selector expression is evaluated only once. The selector is followed by one or more WHEN clauses, which are checked sequentially. The value of the selector determines which clause is executed. If the value of the selector equals the value of a WHEN-clause expression, that WHEN clause is executed. For instance, in the last example, if grade equals 'C', the program outputs 'Good'. Execution never falls through; if any WHEN clause is executed, control passes to the next statement. The ELSE clause works similarly to the ELSE clause in an IF statement. In the last example, if the grade is not one of the choices covered by a WHEN clause, the ELSE clause is selected, and the phrase 'No such grade' is output. The ELSE clause is optional. So, there is always a default action, even when you omit the ELSE clause. The keywords END CASE terminate the CASE statement. These two keywords must be separated by a space. The label, an undeclared identifier enclosed by double angle brackets, must appear at the beginning of the CASE statement. Optionally, the label name can also appear at the end of the CASE statement. Exceptions raised during the execution of a CASE statement are handled in the usual way. An alternative to the CASEstatement is the CASE expression, where each WHEN clause is an expression. Also, its WHEN clauses contain search conditions that yield a Boolean value, not expressions that can yield a value of any type. The Boolean value of each search condition determines which WHEN clause is executed. If a search condition yields TRUE, its WHEN clause is executed. If any WHEN clause is executed, control passes to the next statement, so subsequent search conditions are not evaluated. If none of the search conditions yields TRUE, the ELSE clause is executed. The ELSE clause is optional. With either form of EXIT statement, you can complete not only the current loop, but any enclosing loop. Simply label the enclosing loop that you want to complete. END LOOP outer; Every enclosing loop up to and including the labeled loop is exited. If the condition is true, the sequence of statements is executed, then control resumes at the top of the loop. If the condition is false or null, the loop is bypassed and control passes to the next statement. An example follows: WHILE total 10 THEN... FOR ctr IN 1.. END IF; END LOOP; END main; The same scope rules apply to nested FOR loops. Consider the example below. Both loop counters have the same name. END LOOP; END LOOP outer; Using the EXIT Statement The EXIT statement lets a FOR loop complete prematurely. For example, the following loop normally executes ten times, but as soon as the FETCH statement fails to return a row, the loop completes no matter how many times it has executed: FOR j IN 1.. END LOOP; Suppose you must exit from a nested FOR loop prematurely. You can complete not only the current loop, but any enclosing loop. Simply label the enclosing loop that you want to complete. FOR j IN 1.. Occasionally, it can simplify logic enough to warrant its use. The NULL statement can improve readability by making the meaning and action of conditional statements clear. Overuse of GOTO statements can result in complex, unstructured code sometimes called spaghetti code that is hard to understand and maintain. So, use GOTO statements sparingly. For example, to branch from a deeply nested structure to an error-handling routine, raise an exception rather than use a GOTO statement. GOTO Statement The GOTO statement branches to a label unconditionally. When executed, the GOTO statement transfers control to the labeled statement or block. In the following example, you go to an executable statement farther down in a sequence of statements: BEGIN... FOR i IN 1.. Restrictions Some possible destinations of a GOTO statement are not allowed. Specifically, a GOTO statement cannot branch into an IF statement, CASE statement, LOOP statement, or sub-block. For example, the following GOTO statement is not allowed: BEGIN... END IF; END; As the example below shows, a GOTO statement cannot branch from one IF statement clause to another. Likewise, a GOTO statement cannot branch from one CASE statement WHEN clause to another. END IF; END; The next example shows that a GOTO statement cannot branch from an enclosing block into a sub-block: BEGIN... END; END; Also, a GOTO statement cannot branch out of a subprogram, as the following example shows: DECLARE... END; Finally, a GOTO statement cannot branch from an exception handler into the current block. For example, the following GOTO statement is not allowed: DECLARE... NULL Statement The NULL statement does nothing other than pass control to the next statement. In a conditional construct, the NULL statement tells readers that a possibility has been considered, but no action is necessary. COMMIT; WHEN OTHERS THEN NULL; END; In IF statements or other places that require at least one executable statement, the NULL statement to satisfy the syntax. A stub is dummy subprogram that lets you defer the definition of a procedure or function until you test and debug the main program.