Oracle PL/SQL Programming by Steve Feuerstein, with Bill Pribyl Following are the changes made in the 7/99 reprint: (67) The last example in the table, in the column "Same Line for THEN" contraddicts the point being made. The second ELSIF statement now has the THEN on the same line. {117} The figure at the top of the page. The example for anchoring a datatype to the column of the table EMP now reads: emp_id emp.empno%TYPE and not: emp_id emp_empno%TYPE {122, 123} In the table describing Subtypes. The 4th from the top in the left hand column now reads: table_name.column_name%TYPE and not: table_name column_name%TYPE also, in the 5th row of the same table, the left hand column now reads: table_name%ROWTYPE and not: table_name %ROWTYPE and in the 6th row: cursor_name%ROWTYPE and not: cursor_name %ROWTYPE {159} The last line of the section "The SET TRANSACTION" Statement now reads: conjunction with SET TRANSACTION READ ONLY and not: conjunction with SET TRANSATION READ ONLY (160) The second paragraph, there was an extra "see": "Now that you see know the..." The "see" has been deleted. (166) The second paragraph now ends: "...as much control as I can possibly get." and not: "...as much control as I can possible get." (178) Changed the last two sentences in the second paragraph to: The memory for that cursor is released and the number of cursors marked as currently open in your session is decreased by one, pulling you away from the brink of error ORA-01000. {243} The fourth bullet, the last part of the last sentence now reads: and raises that exception with a call to RAISE_APPLICATION_ERROR. That error, along with its message, is propagated back to the client-side application. (260) Deleted the sentence "Because there is not one, the exception is unhandled." in the section titled: Exceptions Raised in a Declaration {295} The section "Setting Records to NULL" has been changed to read: Setting records to NULL In earlier versions of Oracle (7.2 and below), the following assignment would cause an error: comp_sales_rec := NULL; NULL was treated as a scalar value, and would not be applied to each of the record's fields. In Oracle 7.3 and above, the assignment of NULL to a record is allowed, and will set each of the fields back to the default value of NULL. (393) After December 31, 4712 A.D., the following has been added: (in Oracle Server 8.0 and higher, the maximum valid date is December 31, 9999) {397-398} the section "The NEW_TIME function": "Bombay" has been changed to "Anchorage" {609} Deleted the first appearance of "AS OBJECT" on the page. The book provides the following syntax for the forward type definition: CREATE TYPE Person_t AS OBJECT; Under Oracle 8.0.5, this syntax results in an error. Use the following command: CREATE TYPE Person_t; {905} Changed: COPY_IN to: COPY and NAME_IN (969, Index) The main listing for Cursor Variables now reads 191, not 169.