O'Reilly logo

Learning Oracle PL/SQL by Steven Feuerstein, Bill Pribyl

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

5.3. Retrieving More than One Row Using a Cursor

If you know any other programming languages, you will notice that most of the PL/SQL that you've seen up until now probably has parallels with what you already know. With cursors, however, we're stepping off that comfortable platform, into some concepts that may be unlike anything in your previous experience. Not to worry! What can be confusing is the usual way cursors get introduced with abstractions. So, instead of getting abstract too quickly, I'd like to start with a little story.

5.3.1. The Parable of the Thirsty Traveler

A traveler arrives in his hotel room and wants to ice down a can of soda, but discovers there is no ice in the room. Unfortunately, there is no ice bucket either, and all he can find to carry ice is a tiny little shot glass. Since the glass is "sealed for his protection" with a thin plastic wrap, his first action is to remove the plastic. He next walks down to the ice machine, where he discovers that it dispenses only one ice cube at a time, but that's okay because that's all that fits in the glass anyway. He takes the lone cube back to his room and puts it in the sink. He takes a number of trips to the ice machine, fetching one piece of ice each time, until he has amassed a lovely pile of ice. Finally, he replaces the plastic wrap on the little glass, and moves along with his life.

Okay, so it's a parable without much of a moral, but the message is in the analogues, as Table 5-2 reveals.

Table 5-2. ...

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