Intermediate
Q: | |
2-7. | A REPEAT UNTIL loop executes its body and then checks to see if the condition for stopping execution is TRUE. You can implement a REPEAT UNTIL loop with the simple loop as follows: LOOP ... EXIT WHEN <condition>; END LOOP; |
Q: | |
2-8. | This loop does not execute even once. When you use the REVERSE keyword, the year_index moves from highest to lowest value (the reverse of the normal order). However, the low value of the range must still be first, as shown here: FOR year_index IN REVERSE 1990 .. 1999 LOOP calc_sales (year_index); END LOOP; |
Q: | |
2-9. | At first glance, you might think that a FOR loop would make the most sense (“for each…”). A FOR loop would be a mistake in this context, however, because there is also a conditional exit (under certain conditions, stop after 12 years). You should use a FOR loop only when you are going to iterate unconditionally through every value between the low- and high-range limits. Instead, use a simple or WHILE loop to satisfy this requirement. |
Q: | |
2-10. | Since there is no conditional exit described in this requirement, you should use the cursor FOR loop. |
Q: | |
2-11. | Use the WHILE loop, since there are conditions under which you do not want the loop body to execute even a single time. |
Q: | |
2-12. | Do not use a generic loop index name (i); it makes the code less readable, and it looks unprofessional. In addition, the conditional EXIT from the FOR loop should be removed. Instead, use a FOR loop that iterates as follows: FOR i IN 1 .. LEAST (76, total_count) LOOP ... |
Get Oracle PL/SQL Programming: A Developer's Workbook 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.