This discussion is archived
1 Reply Latest reply: Sep 2, 2012 7:12 AM by cjmurray RSS

11gR2 documentation errors for dbms_parallel_executed

riedelme Expert
Currently Being Moderated
I searched the forum for "dbms_parallel_execute" and did not get any hits before posting. The results page asked if I meant "bums_parallel_execute" which AFAIK not exist. I often find the automated search suggestion results amusing, in this case suggesting (incorrectly) that Oracle codes special versions of their packages for migrant workers (consultants?) to use
Oracle® Database PL/SQL Packages and Types Reference
11g Release 2 (11.2)
Part Number E25788-04
The first item is a typo in the examples. Typically the line
  l_sql_stmt := 'update /*+ ROWID (dda) */ EMPLOYEES e 
      SET e.salary = e.salary + 10
      WHERE rowid BETWEEN :start_id AND :end_id';
with the ROWID hint (which may be unnecessary) incorrectly specified. ROWID accepts one argument, a table/alias name, which is not specified in the SQL. In the one I copied above "dda" should be "e". This or something like it occurs in each of the three examples of using DBMS_PARALLEL_EXECUTE

The second item is another typo in the arguments defined for the GET_ROWID_CHUNK procedure
DBMS_PARALLEL_EXECUTE.GET_ROWID_CHUNK (
   task_name       IN VARCHAR2,
   chunk_id        OUT NUMBER,
   start_rowid     OUT ROWID,      
   end_id          OUT ROWID,
   any_rows        OUT BOOLEAN);
The "end_id" argument is "end_rowid" in the 11.2.0.1.0 database on my laptop

The third items is that the PL/SQL block for the third example to use DBMS_PARALLEL_EXECUTE in a user-defined framework is cut off. It ends with and END LOOP without an END for the block, also missing the line to drop the task.

Edited by: riedelme on Aug 31, 2012 7:12 AM

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points