The sample_data.zip and sample_data.tar.gz archives containg the same source files, from the book "Oracle SQL*Plus: The Definitive Guide" by Jonathan Gennick. The following file information is contained in the readme file in the archives. ~---------------------------------------------------------- ch03 ------ THE PROJECT HOURS AND DOLLARS REPORT 01_query_1_step_1.sql -- This is the raw SQL query for the first report. 01_query_1_step_2.sql -- This version of the script produces a report with column titles and reasonable column widths. 01_query_1_step_3.sql -- Page headers and footers have been added. 01_query_1_step_4.sql -- The PAGESIZE and NEWPAGE settings have been set to produce a report with 55 lines per page, and to cause formfeeds to be placed between pages. 01_query_1_step_5.sql -- The final script for the Project Hours and Dollars report. This is the step 4 script with the addition of the commands to SPOOL the output to a file. THE PROJECT HOURS AND DOLLARS DETAIL REPORT 03_query_2_step_0.sql -- The Project Hours and Dollars Detail report. 03_query_2_step_1.sql -- The BREAK command has been added to suppress duplicate column values. 03_query_2_step_2.sql -- Page and line breaks have been added. 03_query_2_step_3.sql -- A master/detail version of the report. 03_query_2_step_4.sql -- The report with totals for each project and for each employee. 03_query_2_step_5.sql -- The report with grand totals. 03_query_2_step_6.sql -- The report with the date in the footer. 03_query_3_step_1.sql -- The first UNION query. 03_query_3_step_2.sql -- The UNION query with page and column formatting. ch04 ------- hours_dollars_a.sql -- The Project Hours and Dollars report for employee #107. hours_dollars_b.sql -- The same report, but using a substitution variable instead of a hard-coded employee number. hours_dollars_c.sql -- The same report, with the addition of SET TERMOUT OFF. This script will appear to hang when you run it. hours_dollars_d.sql -- A version of the report that uses the ACCEPT command to prompt for an employee number. list_indexes_d.sql -- The first version of the list_indexes script. This is the one that prompts twice for the table name. list_indexes_e.sql -- A version of list_indexes that uses a double-ampersand, and that only prompts once for a table name. list_indexes_f.sql -- The ACCEPT command is used to prompt for a table name. list_indexes_g.sql -- PROMPT commands have been added. list_indexes_h.sql -- Feedback and command echoing have been turned off. ch05 ------- employee_extract.sql -- The script to extract employee data to a comma-delimited file. employee_extract_friendly.sql -- A more friendly version of the employee extract script. employee_extract_fixed -- Extracts employee data to a file, and formats it into fixed-width columns. employee_extract_dml -- Extracts employee data to a file in the form of INSERT statements. ch06 --------- list_tables.sql -- lists tables for a user. list_columns.sql -- displays information about the columns of a table. list_constraints.sql -- displays information about all constraints on a given table. show_index.sql -- displays information about an index. list_indexes.sql -- displays information about all indexes defined on a given table. show_trigger.sql -- displays the definition and code for a trigger. list_triggers.sql -- displays the definition and code for all triggers defined on a given table. show_syn.sql -- displays the definition of any public or private synonyms having a specified name. list_syn.sql -- lists synonyms owned by a specified user. show_security.sql -- displays information about security on a specified table. ch07 ------- ref_cursor.sql -- This is the sample script that uses a REFCURSOR variable to list tables whose names match a user-supplied pattern. delete_hours.sql -- The example that uses a WHERE clause condition to simulate an IF statement. user_security_plsql_example.sql -- The version of the User Security report that uses PL/SQL to set a REFCURSOR variable to the appropriate query. user_security.sql, user_security_1.sql, user_security_2.sql, user_security_3.sql, user_security_4.sql -- This is the version of the user security report that implements branching with a multi-level file structure. user_security_write.sql -- This version of the user security report branches by creating a new SQL file, writing a command to that file, and then executing that file. delete_hours_pl.sql -- The second version of the delete hours script. This version implements the conditional logic using PL/SQL. list_indexes_loop.sql -- The list_indexes script that uses recursion to simulate looping. analyze_tables.sql -- A script that builds a file of ANALYZE TABLE commands, and that then executes that file. analyze_tables_pl.sql -- The analyze table script implemented in PL/SQL, using dynamic SQL to create and execute the ANALYZE TABLE statements. ch08 --------- show_plan.sql -- This is the script shown in the chapter, that queries the plan table. ch09 ------- report_product_profile.sql -- Generates a report of restrictions currently defined in the product profile. show_product_profile.sql -- Shows restrictions in the product profile for a specific user.