O'Reilly logo

Oracle PL/SQL Programming: A Developer's Workbook by Andrew Odewahn, Steven Feuerstein

Stay ahead with the world's most comprehensive technology and business learning platform.

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

Start Free Trial

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.

Start Free Trial

No credit card required