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

Intermediate

Q:

10-6.

Choices (b), (e), (f), and (i) are all valid cursor attributes. They return the following information:

%ROWCOUNT

Returns the number of rows processed by the cursor at that point (this number might reflect the number of rows fetched or the number of rows processed—that is, deleted, updated, or inserted).

%ISOPEN

Is a Boolean attribute that returns TRUE when a cursor is open.

%FOUND

Is a Boolean attribute that returns TRUE if the last fetch returned a row and FALSE if not.

%NOTFOUND

Is a Boolean attribute that returns TRUE if the last fetch did not return a row and FALSE if it did.

For explicit cursors, they are specified as cursor name%attribute ; for example, CURS_GET_EMPS%FOUND. For implicit cursors, they are specified as SQL%attribute ; for example, SQL%NOTFOUND.

Q:

10-7.

The usages are:

  1. Invalid. It raises an INVALID_CURSOR exception, since the cursor has not been opened, and you are checking the FOUND attribute.

  2. Valid.

  3. Invalid. You’re referencing the %ROWCOUNT attribute as though it were a Boolean expression. It is, in fact, a numeric attribute.

  4. Invalid. You’re applying the attribute to a record instead of the cursor.

  5. Invalid. You’re applying the attribute to the table name rather the “SQL” keyword, as is necessary with implicit attributes.

Q:

10-8.

You are executing the CLOSE after the RETURN statement, so in fact that CLOSE statement is never run. It would therefore seem that your cursor would remain open and you would run out of open cursors in your session. That is not, however, ...

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