Errata

Oracle Built-in Packages

Errata for Oracle Built-in Packages

Submit your own errata for this product.

The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".

The following errata were submitted by our customers and approved as valid errors by the author or editor.

Color key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted By Date submitted Date corrected
Printed
Page xiii
A bad break has been corrected in the "Chapter 2" paragraph

under the "Part II" heading. The second line used to read:

"...PL/SQL blocks a runt-
ime. (Steven)

It now reads:

"...PL/SQL blocks a run-
time. (Steven)

Anonymous    Jan 01, 2000
Printed
Page xiv
In the "Chapter 13" paragraph under the "Part III" heading,

the second line used to read:

"...operating sytem-..."

It now reads:

"...operating system-..."

Anonymous    Jan 01, 2000
Printed
Page xviii
The following information has been added to the preface,

replacing the "Comments and Questions" section:

"How to Contact Us

We have tested and verified the information in this book
to the best of our ability, but you may find that features
have changed (or even that we have made mistakes!). Please
let us know about any errors you find, as well as your
suggestions for future editions, by writing to:

O'Reilly & Associates
101 Morris Street
Sebastopol, CA 95472
800-998-9938 (in the U.S. or Canada)
707-829-0515 (international or local)
707-829-0104 (fax)

You can also send us messages electronically. To be put on
the mailing list or request a catalog, send email to:

info@oreilly.com

To ask technical questions or comment on the book, send email
to:

bookquestions@oreilly.com

We have a web site for the book, where we'll list examples,
errata, and any plans for future editions. You can access
this page at:

http://www.oreilly.com/catalog/9781565923751/

For more information about this book and others, see the
O'Reilly web site:

http://www.oreilly.com

If you have any questions about the disk supplied with this
book, contact RevealNet, Inc. at:

www.revealnet.com"

The addition of this text threw off the page breaks for the rest
of the preface.

Anonymous    Jan 01, 2000
Printed
Page xviii
The contents of the "How to Contact Us" section have been updated.

It now reads:

How to Contact Us

We have tested and verified the information in this book to the best of our
ability, but you may find that features have changed (or even that we have
made mistakes!). Please let us know about any errors you find, as well as your
suggestions for future editions, by writing to:

O'Reilly & Associates
101 Morris Street
Sebastopol, CA 95472
(800) 998-9938 (in the United States or Canada)
(707) 829-0515 (international or local)
(707) 829-0104 (fax)

There is a web site for the book, where we list examples, errata, and any plans
for future editions. You can access this page at:

http://www.oreilly.com/catalog/9781565923751/

To ask technical questions or comment on the book, send email to:

bookquestions@oreilly.com

For more information about our books, conferences, software, Resource Centers,
and the O'Reilly Network, see our web site at:

http://www.oreilly.com

If you have any questions about the disk supplied with this book, contact
RevealNet, Inc. at:

http://www.revealnet.com

Anonymous    Jan 01, 2001
Printed
Page 30
the dynconst script: the last 2 FUNCTION statements in the

package body should not have semicolons after INTEGER.

Here is how the code now looks:

FUNCTION v6 RETURN INTEGER
IS BEGIN RETURN DBMS_SQL.V6; END;

FUNCTION v7 RETURN INTEGER
IS BEGIN RETURN DBMS_SQL.V7; END;

FUNCTION native RETURN INTEGER
IS BEGIN RETURN DBMS_SQL.NATIVE; END;

Anonymous    May 01, 1999
Printed
Page 32

The seventh line of code did read:

RAISE_APPLICATION_ERROR (-20102, 'Invalid operation);

It now reads:

RAISE_APPLICATION_ERROR (-20102, 'Invalid operation');

Anonymous    Jan 01, 2001
Printed
Page 33
Half way down the page, the code line beginning

PRAGMA RESTRICT_REFERENCES

is now in bold.

Anonymous    May 01, 1999
Printed
Page 35

1st Paragraph, 3rd sentence reads:

"Here is the program for the GETLENGTH function:"

now reads:

"Here is the pragma for the ... "

and

In the SQL statement towards the bottom of the page there is now a
closing single quote after 'FEUERSTEIN:

"WHERE family = 'FEUERSTEIN' AND ..."

Anonymous    May 01, 1999
Printed
Page 55
Figure 2-1: under the "Executing PL/SQL block?" diamond, there

was a Yes line extending to the right of the line pointing down. It has
been removed. The Yes goes with the line going down.

Anonymous    May 01, 1999
Printed
Page 61
code 3, line 3

"DBMS_SQL.BIND_VARIABLE(cur, 'varname', 'a', 100);"

now reads:

"DBMS_SQL.BIND_VARIABLE(cur, 'varname', var_name_in);"

Anonymous    May 01, 1999
Printed
Page 68
Last code sample (list of "more specific variants") now

also includes:

PROCEDURE DBMS_SQL.DEFINE_COLUMN_LONG
(c IN INTEGER
,position IN INTEGER);

Anonymous    May 01, 1999
Printed
Page 71
last sentence: "So hat" now reads "so that"

Anonymous    May 01, 1999
Printed
Page 76

The 4th entry in the "Description" column of the table did read:

"one or more colum values"

Now reads:

"one or more column values"

Anonymous    Jan 01, 2001
Printed
Page 88
para 2, 1st line: "prodecure" now reads "procedure".

Anonymous    May 01, 1999
Printed
Page 90
In the first paragraph and code below it

DBMS_SQL.DESC_T should be DBMS_SQL.DESC_TAB
in both the first paragraph and in the code block below it.

Anonymous   
Printed
Page 90
In the second line of the first paragraph and in the third line in the

code sample, changed "DBMS_SQL.DESC_T" to "DBMS_SQL.DESC_TAB".

Anonymous    Jan 01, 2001
Printed
Page 138

In the second bulleted item, the last line of code now reads:

DBMS_SQL.DEFINE_ARRAY... (not DEFINE_COLUMN)

Anonymous    Jan 01, 2001
Printed
Page 163
Removed RESET_PIPE from the list in the first paragraph.

Anonymous    Jan 01, 2001
Printed
Page 202

Lines 11-14 in the code sample did read:

message_tblmessage_tbltype;
call_statusINTEGER;

/* empty table used to free and release memory */
null_message_tblmessage_tbltype;

Three of these lines were missing spaces. They now read:

message_tbl message_tbltype;
call_status INTEGER;

/* empty table used to free and release memory */
null_message_tbl message_tbltype;

Anonymous    Jan 01, 2001
Printed
Page 214

The last example on the page did read:

"The following example sets the polling interval to one second:"

It now reads:

"The following example sets the polling interval to ten minutes:"


Anonymous    Jan 01, 2001
Printed
Page 235
first table, table headings "Parameter" and "Description"

are now in boldface

Anonymous    May 01, 1999
Printed
Page 237
In the second table on the page, the description for Return Value 4 now

reads:

"Do not own lock; cannot convert"

It should read:

"Already own lock specified by 'id' or 'lockhandle'

Anonymous   
Printed
Page 306
IN PRINT: Table 5-2

DROP_QUEUE and DROP_QUEUE_TABLE have their descriptions mixed up.

SHOULD BE:
Reverse the descriptions.

{disk} In the place corresponding to the last example on page 214 of the
text, "one second" should be changed to "ten minutes".

Anonymous   
Printed
Page 375
The second line after the section "Enabling and Disabling Output" did

read:

"The Enable ... from DBMS_OUTPUT.PUT_LINE (and PUT and PUTF)
procedure."

Now reads:

"The Enable ... from DBMS_OUTPUT.PUT_LINE (and PUT) procedure."

Anonymous    Jan 01, 2001
Printed
Page 392
The following has been added after VALUE_ERROR in list of

exceptions:

INVALID_MAXLINESIZE

Oracle 8.0 and above: Raised when you try to open a
file with a maximum linesize outside of the valid
range (between 1 through 32767).

Anonymous    Sep 01, 1999
Printed
Page 393
Changed the first bullet item to

Prior to Oracle 8.0, you cannot read or write a line of text
with more than 1023 bytes. In Oracle8.0 and above, you can
specify a maximum line size of up to 32767 when you open a file.

Anonymous    Sep 01, 1999
Printed
Page 394
Under UTL_FILE.FOPEN, changed the program header to a two column

format like this:

All PL/SQL versions: Oracle 8.0 and above only:
FUNCTION UTL_FILE.FOPEN ( FUNCTION UTL_FILE.FOPEN (
location IN VARCHAR2, location IN VARCHAR2,
filename IN VARCHAR2, filename IN VARCHAR2,
open_mode IN VARCHAR2) open_mode IN VARCHAR2,
RETURN file_type; max_linesize IN BINARY_INTEGER)
RETURN file_type;

and added the following to the parameter list:

max_linesize

The maximum number of characters per line, including the
newline character, for this file. Minimum is 1, maximum is
32767.

Anonymous    Sep 01, 1999
Printed
Page 395
Added the following to the list of exceptions

UTL_FILE.INVALID_MAXLINESIZE

Anonymous    Sep 01, 1999
Printed
Page 400

The seventh and eighth lines of code on the page did read:

UTL_FILE.PUT_LINE
(TO_CHAR (emprec.empno) || .....

Now read:

UTL_FILE.PUT_LINE
(fileID,TO_CHAR (emprec.empno) || .....

Anonymous    Jan 01, 2001
Printed
Page 405
In the third-to-last line on the page, changed "OTHRES" to "OTHERS".

Anonymous    Jan 01, 2001
Printed
Page 411

The first sentence in the second-to-last paragraph on the page did read:

"We can conclude from this test that the IS_OPEN function returns TRUE
if the id field of a UTL_FILE.FILE_TYPE record is NULL."

Now reads:

"We can conclude from this test that the IS_OPEN function returns FALSE
if the id field of a UTL_FILE.FILE_TYPE record is NULL."

Anonymous    Jan 01, 2001
Printed
Page 450
function book_file

return clob

now reads:

return bfile
and,
return book_rec.chapter_file

now reads:

return book_rec.book_file

and,

SELECT chapter_file

now reads:

SELECT book_file

Anonymous    May 01, 1999
Printed
Page 451

The second line on the page now reads:

"...using the following statements (stored in the
compare_text.sql file):

The next 3 lines of code have been deleted. The rest of the code now
reads:

SELECT chapter_descr, chapter_text
FROM my_book_text
WHERE chapter_descr = '&1'

ROLLBACK;

EXEC DBMS_OUTPUT.PUT_LINE ('Rollback completed');

SELECT chapter_descr, chapter_text
FROM my_book_text
WHERE chapter_descr = '&1'
END;
/

Anonymous    May 01, 1999
Printed
Page 451

The first code example did read:

SELECT chapter_descr, chapter_text
FROM my_book_text
WHERE chapter_descr = '&1'
ROLLBACK;

EXEC DBMS_OUTPUT.PUT_LINE ('Rollback completed');

SELECT chapter_descr, chapter_text
FROM my_book_text
WHERE chapter_descr = '&1'
END;
/

Now reads:

SELECT chapter_descr, chapter_text
FROM my_book_text
WHERE chapter_descr = '&1';
ROLLBACK;

EXEC DBMS_OUTPUT.PUT_LINE ('Rollback completed');

SELECT chapter_descr, chapter_text
FROM my_book_text
WHERE chapter_descr = '&1';
END;
/

(Added semi-colons after each '&1'.)

Anonymous    Jan 01, 2001
Printed
Page 452
The third code example on the page ended with a comma instead of a semi-

colon. It did read:

CREATE OR REPLACE PACKAGE blobby
IS
TYPE adpage_rectype IS RECORD (
customer_id NUMBER,
persuasive_picture BFILE
),

Now reads:

CREATE OR REPLACE PACKAGE blobby
IS
TYPE adpage_rectype IS RECORD (
customer_id NUMBER,
persuasive_picture BFILE
);

Anonymous    Jan 01, 2001
Printed
Page 453
The third code example on the page ended with a comma instead of a semi-

colon. It did read:

CREATE OR REPLACE PACKAGE chapter
IS
TYPE diagram_rectype IS RECORD (
chapter_num NUMBER,
diagram BLOB
),

Now reads:

CREATE OR REPLACE PACKAGE chapter
IS
TYPE diagram_rectype IS RECORD (
chapter_num NUMBER,
diagram BLOB
);

Anonymous    Jan 01, 2001
Printed
Page 454
The first code example on the page ended with a comma instead of a semi-

colon. It did read:

IS
TYPE poll_results_rectype IS RECORD (
speech_num NUMBER,
speech_txt CLOB
),

Now reads:

IS
TYPE poll_results_rectype IS RECORD (
speech_num NUMBER,
speech_txt CLOB
);

Anonymous    Jan 01, 2001
Printed
Page 459
3 exceptions are referenced

DBMSLOB.NOEXIST_DIRECTORY
DBMSLOB.NOPRIV_DIRECTORY
DBMSLOB.INVALID_DIRECTORY

There is now an underscore in 'DBMS_LOB'.

Anonymous    Sep 01, 1999
Printed
Page 467

The fifth line of the second code example did read:

PROCEDURE check_open (loc IN BFILE, descr IN VARCHAR2)

Now reads:

PROCEDURE check_open (loc IN BFILE, descr IN VARCHAR2);

(colophon) The second-to-last paragraph did read:

"our books use RepKover, a durable and flexible lay-flat binding. If
the page count exceeds RepKover's limit..."

Now reads:

"our books use a durable and flexible lay-flat binding. If the page
count exceeds this binding's limit..."

Anonymous    Jan 01, 2001
Printed
Page 485
Last line, the code now begins

@compare_text

Anonymous    May 01, 1999
Printed
Page 487
Last line, the code now begins

@compare_text

Anonymous    May 01, 1999
Printed
Page 489
Last line, the code now begins

@compare_text

Anonymous    May 01, 1999
Printed
Page 491
Middle of the page, the code now begins

@compare_text

Anonymous    May 01, 1999
Printed
Page 493
Middle of the page, the code now begins

@compare_text

Anonymous    May 01, 1999
Printed
Page 500

Line -6 now reads:

FUNCTION DBMS_ROWID.ROWID_ROW_NUMBER (row_id IN ROWID)

Anonymous    May 01, 1999
Printed
Page 504

The last bit of the last line of code now reads:

... (rowid_value, NULL, NULL, 0) = 1;

Anonymous    May 01, 1999
Printed
Page 526
The section head said UTL_REF is Oracle8.1 only. This is wrong

UTL_REF was introduced in 8.0.4.

Anonymous    May 01, 1999
Printed
Page 527
The same error listed for page 526 occurred in the middle

paragraph. It too now reads "Oracle8.0.4."

{538 through 577} in the following sections "NULL" has been replaced
with "COMPUTE":

p538, 1/3 down
p538, table of parameters (method)
p539, table of parameters (method)
p539, bottom
p577, table of parms (method)
p577, 2/3 down page

Anonymous    May 01, 1999
Printed
Page 571
Under "Getting Started with DBMS_DDL," the first line begins

This DBMS_DDL.....

Anonymous    May 01, 1999
Printed
Page 591
last section near bottom, for consistency

heading "DBMS_SESSION.SET_MLS_LABEL_FORMAT" now reads, like
all the other headings:

"The DBMS_SESSION.SET_MLS_LABEL_FORMAT procedure"

Anonymous    May 01, 1999
Printed
Page 657
Replaced the text under "JOB_QUEUE_KEEP_CONNECTIONS" with

The third INIT.ORA parameter that supposedly affects the
behavior of the SNP processes is JOB_QUEUE_KEEP_CONNECTIONS.
This parameter has been made obsolete in Oracle8i. In fact,
it apparently never actually had any effect under previous releases,
although it has been documented as having various effects. Some sources
say that it controlled the database sessions held by the SNP background
processes; others say that it controlled the sessions in remote databases
for jobs using database links.

Although setting this parameter appears to do no harm,
it is best to leave it alone.

Anonymous    May 01, 1999
Printed
Page 662
Replaced with Warning with

When you are using the ISUBMIT procedure, a subtle problem
can arise from the fact that next_date has datatype VARCHAR2
instead of DATE (as in SUBMIT). When DATE values are assigned to
next_date in calls to ISUBMIT, an implicit conversion to VARCHAR2 is
done using the session's current NLS_DATE_FORMAT as the date mask. This can
result in unexpected truncation of next_date. For instance, if the
session NLS_DATE_FORMAT is 'YY-MM-DD', dates assigned to next_date will be
truncated to 12:00 a.m. To avoid this problem, either make sure that the
session NLS_DATE_FORMAT includes all date components or supply next_date
as a fully specified VARCHAR2.

Anonymous    May 01, 1999
Printed
Page 670-671
table: all of the expressions in the right column

("Interval Value") are now enclosed in single quotes as in the table
on page 670

and also, row 2,

"Every day at 8:00 p.m."

now reads

"Every day at 8:00 a.m."

Anonymous    May 01, 1999
Printed
Page 690
second PROCEDURE example, 2nd line

(ab IN OUT dbms_utility.uncl_array,

now reads

(tab IN OUT dbms_utility.uncl_array,

("ab" should be "tab")

Anonymous    May 01, 1999
Printed
Page 728

Line 6 now reads:

Table 15-2 lists the programs in DBMS_REPCAT_ADMIN

and, under "DBMS_REPCAT_ADMIN exceptions" toward the bottom of the
page, the line begins:

The DBMS_REPCAT_ADMIN package may ......

Anonymous    May 01, 1999