Oracle PL/SQL Programming by Steve Feuerstein, with Bill Pribyl Here are the changes that were made in the 3/99 reprint: [56-57] the code that begins on the bottom of page 56 and continues to the top of age 57 should be replaced with the following code: IF to_number(the_value) > 22 THEN IF max_totals = 0 THEN calc_totals; ELSE WHILE more_data LOOP analyze_results; END LOOP; END IF; END IF; (90) In the paragraph beginning with "The rounded_million..." the second sentence now reads "Just as a scale of -1 (instead of +1) ...." [179] A little more than half way down the page the code reads: IF NOT caller_cur%ISOPEN THEN OPEN call_cur; END IF; The third line of code should read: OPEN caller_cur [312] The eighth and nineth lines of code currently read: company_ids := company_pkg.id (company_pkg.company_names_tab(v_row)); but should read: company_ids (NVL (company_ids.LAST, 0) + 1) := company_pkg.id(company_pkg.company_name_tab(v_row)); {391-392} the authors use TRANSLATE to change digits to "N" and letters to "A". In the second PL/SQL example on page 391 and the only example on 392, the translate string is missing the digit "0". The strings should be '0123456789ABCDEF....' instead of '12345...' and the 'NNAAA....' strings should have an extra 'N'. {410} Table 13-1: some of the names are matched to the wrong descriptions, for example, cos for sin, acos, asin Change 4 lines to read as follows: ACOS Returns the inverse cosine ASIN Returns the inverse sine COS Returns the cosine COSH Returns the hyperbolic cosine {499} code line -6: name_format_in IN := 'LAST, FIRST') should be name_format_in IN VARCHAR2 := 'LAST, FIRST') (614) The second note was deleted. (688) The note at the top of the page was deleted.