## With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

No credit card required

## Chapter 2. Loops

PL/SQL has four basic looping (or iterative) structures: the simple loop, the FOR loop, the cursor-based FOR loop, and the WHILE loop; these repeatedly execute a block of code. There are three things to worry about when designing a loop:

• How (or whether) the loop terminates

• When the test for termination takes place

• Whether the type of loop is suited to the particular task at hand

If you know the number of times a loop must execute (for example, to process the months in a year), you can be reasonably confident that a FOR loop is the best structure. If you don’t know the number in advance (for example, the number of records in a table), you’re probably better off using a WHILE loop. This chapter tests your ability to make these kinds of decisions.

## Beginner

 2-1. What are the different kinds of loops available in PL/SQL? 2-2. How do you stop a simple loop from continuing? 2-3. Why is the following form of a simple loop called an infinite loop?```DECLARE myDate DATE; BEGIN LOOP myDate := SYSDATE; END LOOP; END;``` 2-4. How many times does the body of the following loop execute?```FOR year_index IN 1990 .. 1999 LOOP calc_sales (year_index); END LOOP;``` 2-5. Rewrite the following loop so that you do not use a loop at all:```FOR i IN 1 .. 2 LOOP IF i = 1 THEN give_bonus (president_id, 2000000); ELSIF i = 2 THEN give_bonus (ceo_id, 5000000); END IF; END LOOP;``` 2-6. How many times are the first_year and last_year functions executed in the following loop?`FOR yearnum IN first_year (company_id => 1056) .. ...`

## With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

No credit card required