Intermediate

2-7.

How would you emulate a REPEAT UNTIL loop in PL/SQL?

2-8.

How many times does the body of the following loop execute?

FOR year_index IN REVERSE 1999 .. 1990
LOOP
   calc_sales (year_index);
END LOOP;

2-9.

Select the type of loop (FOR, WHILE, simple) appropriate to implement the following requirement: for each of 20 years in the loan processing cycle, calculate the outstanding loan balance for the specified customer. If the customer is a preferred vendor, stop the calculations after 12 years.

2-10.

Select the type of loop (FOR, WHILE, simple) appropriate to implement the following requirement: display the name and address of each employee returned by the following query:

SELECT name, address FROM employee;

2-11.

Select the type of loop (FOR, WHILE, simple) appropriate to implement this requirement: scan through the list of employees in the PL/SQL table, keeping a count of all salaries greater than $50,000. Don’t even start the scan, though, if the table is empty, or if today is a Saturday, or if the first employee in the PL/SQL table is the president of the company.

2-12.

What is the problem with (or area for improvement in) the following loop? How would you change the loop to improve it?

FOR i IN 1 .. total_count
LOOP
   calc_totals (i);
   IF i > 75
   THEN
      EXIT;
   END IF;
END LOOP;

2-13.

What is the problem with (or area for improvement in) the following loop? How would you change the loop to improve it?

OPEN emp_cur; FETCH emp_cur INTO emp_rec; WHILE emp_cur%FOUND LOOP calc_totals (emp_rec.salary); ...

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.