Intermediate

21-15.

List each step required to fetch multiple rows from a dynamic SQL query string, and include the name of the DBMS_SQL program or programs that implement those steps.

21-16.

When you fetch past the last row with static SQL, you do not get an error; the request is simply ignored. What happens in DBMS_SQL if you try to fetch after the last row was fetched?

21-17.

Which program in DBMS_SQL offers similar behavior to the implicit SELECT INTO static query in PL/SQL?

21-18.

What happens if DBMS_SQL.EXECUTE_AND_FETCH finds more than one row matching the query’s WHERE clause?

21-19.

Do you have to call DBMS_SQL.EXECUTE to execute a DDL statement?

21-20.

If you call DBMS_SQL.EXECUTE to execute a DDL statement right after you parsed it, is the DDL statement executed twice?

21-21.

Does the name of the placeholder in a SQL string need to match the name of the variable that is bound to the placeholder? In other words, will the following code cause a problem?

DECLARE
   the_year INTEGER := 1999;
BEGIN
   DBMS_SQL.PARSE (cur,
      'UPDATE laptop SET mhz = 500 WHERE yearnum = :my_year',
      DBMS_SQL.NATIVE);
   DBMS_SQL.BIND_VARIABLE (cur, 'my_year', the_year);
   ...
END;

21-22.

How can you tell if a variable contains a pointer to a valid and open DBMS_SQL cursor?

21-23.

Why won’t the following block compile in an Oracle Forms or Oracle Reports application module?

DECLARE cur INTEGER := DBMS_SQL.OPEN_CURSOR; rec employee%ROWTYPE; fdbk INTEGER; BEGIN DBMS_SQL.PARSE ( cur, 'SELECT employee_id, last_name FROM employee ...

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.