Oracle SQL*Plus: The Definitive Guide, 2nd Edition

Book description

Despite its wide availability and usage, few developers and DBAs have mastered the true power of Oracle SQLPlus. This bestselling book--now updated for Oracle 10g--is the only in-depth guide to this interactive query tool for writing SQL scripts. It's an essential resource for any Oracle user.The new second edition of Oracle SQLPlus: The Definitive Guide clearly describes how to perform, step-by-step, all of the tasks that Oracle developers and DBAs want to perform with SQLPlus--and maybe some you didn't realize you could perform.With Oracle SQLPlus: The Definitive Guide, you'll expertly:

  • write and execute script files
  • generate ad hoc reports
  • extract data from the database
  • query the data dictionary tables
  • customize an SQLPlus environment
  • and much more
It also includes a handy quick reference to all of its syntax options and an often-requested chapter on SQL itself, along with a clear, concise, and complete introduction.This book is truly the definitive guide to SQLPlus. It's an indispensable resource for those who are new to SQL*Plus, a task-oriented learning tool for those who are already using it, and an immediately useful quick reference for every user. If you want to leverage the full power and flexibility of this popular Oracle tool, you'll need this book.

Publisher resources

View/Submit Errata

Table of contents

  1. Oracle SQL*Plus: The Definitive Guide, 2nd Edition
    1. SPECIAL OFFER: Upgrade this ebook with O’Reilly
    2. A Note Regarding Supplemental Files
    3. Preface
      1. Why I Wrote This Book
      2. Objectives of This Book
      3. What's New in the Second Edition?
      4. Which Platform and Version?
      5. Structure of This Book
      6. Obtaining the Scripts and Sample Data
      7. What About Those Names?
      8. Conventions Used in This Book
      9. Using Code Examples
      10. Comments and Questions
      11. Acknowledgments from the First Edition
      12. Second Edition Acknowledgments
    4. 1. Introduction to SQL*Plus
      1. 1.1. What Is SQL*Plus?
        1. 1.1.1. Uses for SQL*Plus
        2. 1.1.2. SQL*Plus's Relation to SQL, PL/SQL, and the Oracle Database
      2. 1.2. History of SQL*Plus
      3. 1.3. Why Master SQL*Plus?
      4. 1.4. Creating and Loading the Sample Tables
        1. 1.4.1. The Data Model
        2. 1.4.2. The Tables
          1. 1.4.2.1. EMPLOYEE table
          2. 1.4.2.2. PROJECT table
          3. 1.4.2.3. PROJECT_HOURS table
        3. 1.4.3. The Data
          1. 1.4.3.1. EMPLOYEE table
          2. 1.4.3.2. PROJECT table
          3. 1.4.3.3. PROJECT_HOURS table
        4. 1.4.4. Loading the Sample Data
          1. 1.4.4.1. Step 1: Download and unzip the script files
          2. 1.4.4.2. Step 2: Start SQL*Plus
          3. 1.4.4.3. Step 3: Log into your Oracle database
          4. 1.4.4.4. Step 4: Run the bld_db.sql script file
    5. 2. Command-Line SQL*Plus
      1. 2.1. Starting Command-Line SQL*Plus
        1. 2.1.1. Connecting to a Default Database
        2. 2.1.2. Connecting to a Remote Database
        3. 2.1.3. Specifying Login Details on the Command Line
      2. 2.2. Starting Windows SQL*Plus
      3. 2.3. Some Basic SQL*Plus Commands
        1. 2.3.1. EXIT
        2. 2.3.2. PASSWORD
        3. 2.3.3. HELP
        4. 2.3.4. DESCRIBE
        5. 2.3.5. CONNECT
        6. 2.3.6. DISCONNECT
        7. 2.3.7. HOST
      4. 2.4. Running SQL Queries
      5. 2.5. Working with PL/SQL
        1. 2.5.1. What Is a PL/SQL Block?
        2. 2.5.2. Executing a PL/SQL Block
          1. 2.5.2.1. Where's the output?
          2. 2.5.2.2. Rules for entering PL/SQL blocks
        3. 2.5.3. Executing a Single PL/SQL Statement
      6. 2.6. The SQL Buffer
      7. 2.7. Line Editing
        1. 2.7.1. The Current Line
        2. 2.7.2. Line-Editing Commands
          1. 2.7.2.1. Getting a statement into the buffer
          2. 2.7.2.2. LIST
          3. 2.7.2.3. APPEND
          4. 2.7.2.4. CHANGE
          5. 2.7.2.5. DEL
          6. 2.7.2.6. INPUT
          7. 2.7.2.7. Retyping a line
      8. 2.8. Executing the Statement in the Buffer
        1. 2.8.1. If Your Statement Has an Error
        2. 2.8.2. Doing It Again
      9. 2.9. Saving and Retrieving the Buffer
        1. 2.9.1. SAVE
        2. 2.9.2. GET
      10. 2.10. The EDIT Command
        1. 2.10.1. Choosing Your Editor
        2. 2.10.2. Invoking the Editor
        3. 2.10.3. Beware Editing Conflicts!
        4. 2.10.4. Formatting Your Command
        5. 2.10.5. Getting Back to SQL*Plus
      11. 2.11. Executing a Script
      12. 2.12. The Working Directory
    6. 3. Browser-Based SQL*Plus
      1. 3.1. Starting iSQL*Plus
        1. 3.1.1. Starting the iSQL*Plus Server
        2. 3.1.2. Using a Supported Browser
        3. 3.1.3. Connecting to a Database
        4. 3.1.4. Connecting as an Administrator
          1. 3.1.4.1. Creating iSQL*Plus DBA users
          2. 3.1.4.2. Authenticating to iSQL*Plus as a DBA
        5. 3.1.5. Ending a Session
      2. 3.2. Executing SQL*Plus Commands
      3. 3.3. Running SQL Queries
        1. 3.3.1. Paging Through Results
        2. 3.3.2. Getting Output as Plain Text
      4. 3.4. Working with PL/SQL
      5. 3.5. Executing Scripts
        1. 3.5.1. Using the @ Command
        2. 3.5.2. Using the Load Script Button
      6. 3.6. iSQL*Plus Command History
    7. 4. A Lightning SQL Tutorial
      1. 4.1. Data Manipulation Statements
        1. 4.1.1. Inserting Data into a Table
        2. 4.1.2. Retrieving Data from a Table
          1. 4.1.2.1. Multiple conditions
          2. 4.1.2.2. Negating conditions
          3. 4.1.2.3. Table aliases
          4. 4.1.2.4. Column aliases
        3. 4.1.3. Updating Data with New Values
        4. 4.1.4. Deleting Data from a Table
        5. 4.1.5. Merging Data into a Table
      2. 4.2. Transactions
        1. 4.2.1. Protecting Data Integrity
        2. 4.2.2. Backing Out of Unwanted Changes
        3. 4.2.3. You're Always Using Transactions
        4. 4.2.4. Understanding Transaction Types
      3. 4.3. The Concept of Null
        1. 4.3.1. Detecting Nulls
        2. 4.3.2. Nulls in Expressions
      4. 4.4. Table Joins
        1. 4.4.1. Inner Joins
        2. 4.4.2. Outer Joins
        3. 4.4.3. Full Outer Joins
      5. 4.5. Sorting Query Results
      6. 4.6. Grouping and Summarizing
        1. 4.6.1. The GROUP BY Clause
        2. 4.6.2. The HAVING Clause
      7. 4.7. Subqueries
        1. 4.7.1. Treating Rowsets as Tables
        2. 4.7.2. Testing for Representation
        3. 4.7.3. Generating Data for INSERTs and UPDATEs
      8. 4.8. Unions
      9. 4.9. To Learn More
    8. 5. Generating Reports with SQL*Plus
      1. 5.1. Following a Methodology
      2. 5.2. Saving Your Work
      3. 5.3. Designing a Simple Report
        1. 5.3.1. Step 1: Formulate the Query
        2. 5.3.2. Step 2: Format the Columns
          1. 5.3.2.1. Column headings
          2. 5.3.2.2. Numeric display formats
          3. 5.3.2.3. Text display formats
          4. 5.3.2.4. Report output after formatting the columns
        3. 5.3.3. Step 3: Add Page Headers and Footers
          1. 5.3.3.1. The top title
          2. 5.3.3.2. The bottom title
          3. 5.3.3.3. Setting the line width
          4. 5.3.3.4. Report output with page titles
        4. 5.3.4. Step 4: Format the Page
          1. 5.3.4.1. How many lines on a page?
          2. 5.3.4.2. Setting the pagesize
          3. 5.3.4.3. Setting the page advance
        5. 5.3.5. Step 5: Print It
          1. 5.3.5.1. Spooling to a file
          2. 5.3.5.2. The final script
          3. 5.3.5.3. Executing the report
          4. 5.3.5.4. Printing the file
      4. 5.4. Master/Detail Reports
        1. 5.4.1. Suppressing Duplicate Column Values
        2. 5.4.2. Page and Line Breaks
          1. 5.4.2.1. Adding a page break
          2. 5.4.2.2. Adding a line break
          3. 5.4.2.3. Report output with page and line breaks
        3. 5.4.3. Master/Detail Formatting
          1. 5.4.3.1. Retrieve the employee information into substitution variables
          2. 5.4.3.2. Modify the page heading to print the employee name and ID
          3. 5.4.3.3. Revisit the report width and the width of the remaining fields
          4. 5.4.3.4. Printing data in a page footer
    9. 6. Creating HTML Reports
      1. 6.1. Getting the Data into an HTML Table
      2. 6.2. Generating the Entire Page
        1. 6.2.1. Using SQL*Plus's Default Formatting
        2. 6.2.2. Taking Control of the Page Format
      3. 6.3. Another Approach to Headers
      4. 6.4. Master/Detail Reports in HTML
    10. 7. Advanced Reports
      1. 7.1. Totals and Subtotals
        1. 7.1.1. Printing Subtotals
        2. 7.1.2. Printing Grand Totals
          1. 7.1.2.1. Grand totals and pagination
          2. 7.1.2.2. Grand totals and the final detail record
          3. 7.1.2.3. Grand totals and the lack of a label
      2. 7.2. Getting the Current Date into a Header
        1. 7.2.1. Getting the Date from Oracle
        2. 7.2.2. Formatting the Date
      3. 7.3. Report Headers and Footers
      4. 7.4. Formatting Object Columns
      5. 7.5. Summary Reports
      6. 7.6. Taking Advantage of Unions
        1. 7.6.1. A Typical Union Example
        2. 7.6.2. The UNION Query
        3. 7.6.3. The Final Report
    11. 8. Writing SQL*Plus Scripts
      1. 8.1. Why Write Scripts?
      2. 8.2. Using Substitution Variables
        1. 8.2.1. What Is a Substitution Variable?
        2. 8.2.2. Using Single-Ampersand Variables
          1. 8.2.2.1. The report for one specific employee
          2. 8.2.2.2. Generalizing the report with substitution variables
          3. 8.2.2.3. Running the report
          4. 8.2.2.4. When TERMOUT is off
        3. 8.2.3. Using Double-Ampersand Variables
          1. 8.2.3.1. An example that prompts twice for the same value
          2. 8.2.3.2. A modified example that prompts once
          3. 8.2.3.3. A final caveat
      3. 8.3. Prompting for Values
        1. 8.3.1. The ACCEPT Command
        2. 8.3.2. The PROMPT Command
          1. 8.3.2.1. Using PROMPT to summarize the script
          2. 8.3.2.2. Using PROMPT to explain the output
      4. 8.4. Cleaning Up the Display
        1. 8.4.1. Turning Off Verification
        2. 8.4.2. Turning Off Feedback
        3. 8.4.3. Turning Off Command Echoing
        4. 8.4.4. Turning Off All Terminal Output
      5. 8.5. Executing a Script
        1. 8.5.1. Invoking a Script from the Command Line
        2. 8.5.2. Accessing Command-Line Arguments
        3. 8.5.3. Specifying a Search Path for Scripts
        4. 8.5.4. Placing SQL*Plus Commands into a Shell Script
        5. 8.5.5. Creating a Windows Shortcut
          1. 8.5.5.1. Starting the SQL*Plus executable
          2. 8.5.5.2. Creating the shortcut
        6. 8.5.6. Executing a Script Over the Internet
      6. 8.6. Controlling Variable Substitution
        1. 8.6.1. The Escape Character
          1. 8.6.1.1. Enabling the escape feature
          2. 8.6.1.2. Escaping an ampersand
          3. 8.6.1.3. Changing the escape character
        2. 8.6.2. The Concatenation Character
          1. 8.6.2.1. Turning off the concatenation feature
          2. 8.6.2.2. Changing the concatenation character
        3. 8.6.3. Enabling and Disabling Substitution
        4. 8.6.4. Changing the Substitution Variable Prefix Character
      7. 8.7. Commenting Your Scripts
        1. 8.7.1. The REMARK Command
        2. 8.7.2. The /* and */ Delimiters
        3. 8.7.3. Double Hyphens (- -)
        4. 8.7.4. Substitution Within Comments
      8. 8.8. Resetting Your SQL*Plus Environment
      9. 8.9. Scripting Issues with iSQL*Plus
    12. 9. Extracting and Loading Data
      1. 9.1. Types of Output Files
        1. 9.1.1. Delimited Files
        2. 9.1.2. Fixed-Width Files
        3. 9.1.3. DML Files
        4. 9.1.4. DDL Files
      2. 9.2. Limitations of SQL*Plus
      3. 9.3. Extracting the Data
        1. 9.3.1. Formulate the Query
        2. 9.3.2. Format the Data
          1. 9.3.2.1. Comma-delimited
          2. 9.3.2.2. Fixed-width
          3. 9.3.2.3. DML
          4. 9.3.2.4. DDL
        3. 9.3.3. Spool the Extract to a File
        4. 9.3.4. Make Your Extract Script User-Friendly
      4. 9.4. An Excel-Specific HTML Hack
      5. 9.5. Reloading the Data
        1. 9.5.1. Executing DDL and DML
        2. 9.5.2. Running SQL*Loader
          1. 9.5.2.1. The control file
          2. 9.5.2.2. Building a control file for comma-delimited data
          3. 9.5.2.3. Building a control file for fixed-width data
          4. 9.5.2.4. Loading the data
        3. 9.5.3. Using an External Table
          1. 9.5.3.1. Creating a directory
          2. 9.5.3.2. Creating an external table
          3. 9.5.3.3. Loading the data
    13. 10. Exploring Your Database
      1. 10.1. The DESCRIBE Command
        1. 10.1.1. Describing a Table
        2. 10.1.2. Describing Stored Functions and Procedures
        3. 10.1.3. Describing Packages and Object Types
        4. 10.1.4. Why DESCRIBE Is Not Enough
      2. 10.2. Oracle's Data Dictionary Views
        1. 10.2.1. What Is the Data Dictionary?
        2. 10.2.2. The View Types: user, all, and dba
      3. 10.3. Tables
        1. 10.3.1. Listing Tables You Own
          1. 10.3.1.1. The recycle bin
          2. 10.3.1.2. Tables owned by other users
          3. 10.3.1.3. External tables
          4. 10.3.1.4. Object tables
          5. 10.3.1.5. A combined list of tables
        2. 10.3.2. Listing Column Definitions for a Table
      4. 10.4. Table Constraints
        1. 10.4.1. Check Constraints
        2. 10.4.2. Primary Key and Unique Constraints
        3. 10.4.3. Foreign Key Constraints
      5. 10.5. Indexes
      6. 10.6. Triggers
      7. 10.7. Synonyms
      8. 10.8. Table Security
      9. 10.9. Scripting the Data Dictionary
        1. 10.9.1. Running the Script
        2. 10.9.2. When the Parameter Is Omitted
        3. 10.9.3. Separating Owner and Table Names
        4. 10.9.4. Generating the Index Headings
      10. 10.10. Using SQL to Write SQL
      11. 10.11. The Master Key
    14. 11. Advanced Scripting
      1. 11.1. Bind Variables
        1. 11.1.1. Declaring Bind Variables
        2. 11.1.2. Using Bind Variables and Substitution Variables Together
          1. 11.1.2.1. From substitution to bind
          2. 11.1.2.2. From bind to substitution
        3. 11.1.3. Displaying the Contents of a Bind Variable
          1. 11.1.3.1. Using the PRINT command
          2. 11.1.3.2. PRINTing CLOB variables
          3. 11.1.3.3. PRINTing REFCURSOR variables
          4. 11.1.3.4. SELECTing a bind variable
        4. 11.1.4. When and How to Use Bind Variables
          1. 11.1.4.1. Calling PL/SQL procedures and functions from SQL*Plus
          2. 11.1.4.2. Using REFCURSOR variables
          3. 11.1.4.3. Testing application queries
      2. 11.2. Branching in SQL*Plus
        1. 11.2.1. Simulating Branching by Adjusting the WHERE Clause
        2. 11.2.2. Simulate Branching by Using REFCURSOR Variables
        3. 11.2.3. Branching Using a Multilevel File Structure
        4. 11.2.4. Using SQL to Write SQL
        5. 11.2.5. Using PL/SQL
        6. 11.2.6. Using an Operating-System Scripting Language
      3. 11.3. Looping in SQL*Plus
        1. 11.3.1. Recursive Execution
        2. 11.3.2. Looping Within PL/SQL
      4. 11.4. Validating and Parsing User Input
        1. 11.4.1. Validating Input with ACCEPT
          1. 11.4.1.1. ACCEPTing numeric values
          2. 11.4.1.2. ACCEPTing date values
        2. 11.4.2. Validating Input with SQL
        3. 11.4.3. Parsing Input with SQL
      5. 11.5. Error Handling
        1. 11.5.1. The WHENEVER Command
          1. 11.5.1.1. WHENEVER SQLERROR
          2. 11.5.1.2. Capturing SQL*Plus return codes
          3. 11.5.1.3. PL/SQL errors and WHENEVER
          4. 11.5.1.4. WHENEVER OSERROR
      6. 11.6. Returning Values to Unix
    15. 12. Tuning and Timing
      1. 12.1. Using SQL*Plus Timers
        1. 12.1.1. The SET TIMING Command
        2. 12.1.2. The TIMING Command
          1. 12.1.2.1. Starting and stopping a timer
          2. 12.1.2.2. Displaying the value of a timer
          3. 12.1.2.3. Nesting timers
          4. 12.1.2.4. Finding out how many timers you have going
          5. 12.1.2.5. Stopping all timers
      2. 12.2. Using EXPLAIN PLAN
        1. 12.2.1. Creating the Plan Table
        2. 12.2.2. Explaining a Query
        3. 12.2.3. Interpreting the Results
          1. 12.2.3.1. Using DBMS_XPLAN to display an execution plan
          2. 12.2.3.2. Using a SELECT statement to display an execution plan
          3. 12.2.3.3. Making sense of the results
      3. 12.3. Using AUTOTRACE
        1. 12.3.1. Granting Access to the Performance Views
        2. 12.3.2. Executing a Query with AUTOTRACE On
          1. 12.3.2.1. Showing statistics and the plan
          2. 12.3.2.2. Showing only the plan
          3. 12.3.2.3. Suppressing the query output
          4. 12.3.2.4. Turning AUTOTRACE off
      4. 12.4. Improving on EXPLAIN PLAN Results
        1. 12.4.1. Knowing Good Results from Bad
        2. 12.4.2. Creating Indexes
        3. 12.4.3. Rewriting the Query
        4. 12.4.4. Using Hints
          1. 12.4.4.1. Syntax for a hint
          2. 12.4.4.2. Specifying table and index names
          3. 12.4.4.3. Hint conflicts and applicability
          4. 12.4.4.4. Hint query blocks
        5. 12.4.5. Oracle's Hint Syntax
          1. 12.4.5.1. Optimizer goal hints
          2. 12.4.5.2. Access method hints
          3. 12.4.5.3. Query transformation hints
          4. 12.4.5.4. Join order hints
          5. 12.4.5.5. Join operation hints
          6. 12.4.5.6. Parallel execution hints
          7. 12.4.5.7. Other hints
      5. 12.5. Where to Find More Tuning Information
    16. 13. The Product User Profile
      1. 13.1. What Is the Product User Profile?
        1. 13.1.1. Why Does the Product User Profile Exist?
        2. 13.1.2. The product_profile Table
        3. 13.1.3. How the Product User Profile Works
        4. 13.1.4. Product User Profile Limitations
          1. 13.1.4.1. Issues related to PL/SQL
          2. 13.1.4.2. Issues related to roles
      2. 13.2. Using the Product User Profile
        1. 13.2.1. Creating the Profile Table
        2. 13.2.2. Limiting Access to Commands and Statements
          1. 13.2.2.1. Commands and statements that can be disabled
          2. 13.2.2.2. Disabling a command or statement
          3. 13.2.2.3. Re-enabling a command or statement
        3. 13.2.3. Limiting Access to Roles
          1. 13.2.3.1. Disabling a role
          2. 13.2.3.2. Re-enabling a role
        4. 13.2.4. Reporting on the Product User Profile
          1. 13.2.4.1. Listing all restrictions
          2. 13.2.4.2. Listing restrictions for a particular user
    17. 14. Customizing Your SQL*Plus Environment
      1. 14.1. SQL*Plus Settings You Can Control
      2. 14.2. The Site and User Profiles
        1. 14.2.1. Customizing the SQL*Plus Prompt
        2. 14.2.2. Choosing an Editor
      3. 14.3. Environment Variables That Affect SQL*Plus
        1. 14.3.1. Specifying a Search Path for Scripts
        2. 14.3.2. Designating a Default Net Service Name
        3. 14.3.3. Controlling Language and Character Set
      4. 14.4. Windows GUI SQL*Plus
      5. 14.5. iSQL*Plus User Preferences
    18. A. SQL*Plus Command Reference
      1. A.1. The Command to Invoke SQL*Plus
      2. A.2. Commands You Can Issue Within SQL*Plus
        1. Comment Delimiters (/* . . . */)
        2. Double Hyphen (- -)
        3. At Sign (@)
        4. Double At Sign (@@)
        5. Forward Slash (/)
        6. ACCEPT
        7. APPEND
        8. ARCHIVE LOG
        9. ATTRIBUTE
        10. BREAK
        11. BTITLE
        12. CHANGE
        13. CLEAR
        14. COLUMN
        15. COMPUTE
        16. CONNECT
        17. COPY
        18. DEFINE
        19. DEL
        20. DESCRIBE
        21. DISCONNECT
        22. EDIT
        23. EXECUTE
        24. EXIT
        25. GET
        26. HELP
        27. HOST
        28. INPUT
        29. LIST
        30. PASSWORD
        31. PAUSE
        32. PRINT
        33. PROMPT
        34. QUIT
        35. RECOVER
        36. REMARK
        37. REPFOOTER
        38. REPHEADER
        39. RUN
        40. SAVE
        41. SET APPINFO
        42. SET ARRAYSIZE
        43. SET AUTOCOMMIT
        44. SET AUTOPRINT
        45. SET AUTORECOVERY
        46. SET AUTOTRACE
        47. SET BLOCKTERMINATOR
        48. SET BUFFER
        49. SET CLOSECURSOR
        50. SET CMDSEP
        51. SET COLSEP
        52. SET COMPATIBILITY
        53. SET CONCAT
        54. SET COPYCOMMIT
        55. SET COPYTYPECHECK
        56. SET DEFINE
        57. SET DESCRIBE
        58. SET DOCUMENT
        59. SET ECHO
        60. SET EDITFILE
        61. SET EMBEDDED
        62. SET ESCAPE
        63. SET FEEDBACK
        64. SET FLAGGER
        65. SET FLUSH
        66. SET HEADING
        67. SET HEADSEP
        68. SET INSTANCE
        69. SET LINESIZE
        70. SET LOBOFFSET
        71. SET LOGSOURCE
        72. SET LONG
        73. SET LONGCHUNKSIZE
        74. SET MARKUP
        75. SET MAXDATA
        76. SET NEWPAGE
        77. SET NULL
        78. SET NUMFORMAT
        79. SET NUMWIDTH
        80. SET PAGESIZE
        81. SET PAUSE
        82. SET RECSEP
        83. SET RECSEPCHAR
        84. SET SCAN
        85. SET SERVEROUTPUT
        86. SET SHIFTINOUT
        87. SET SHOWMODE
        88. SET SPACE
        89. SET SQLBLANKLINES
        90. SQLCASE
        91. SET SQLCONTINUE
        92. SET SQLNUMBER
        93. SET SQLPLUSCOMPATIBILITY
        94. SET SQLPREFIX
        95. SET SQLPROMPT
        96. SET SQLTERMINATOR
        97. SET SUFFIX
        98. SET TAB
        99. SET TERMOUT
        100. SET TIME
        101. SET TIMING
        102. SET TRIMOUT
        103. SET TRIMSPOOL
        104. SET TRUNCATE
        105. SET UNDERLINE
        106. SET VERIFY
        107. SET WRAP
        108. SHOW
        109. SHUTDOWN
        110. SPOOL
        111. START
        112. STARTUP
        113. STORE
        114. TIMING
        115. TTITLE
        116. UNDEFINE
        117. VARIABLE
        118. WHENEVER
    19. B. SQL*Plus Format Elements
      1. B.1. Formatting Numbers
      2. B.2. Formatting Character Strings
      3. B.3. Formatting Dates
    20. About the Author
    21. Colophon
    22. SPECIAL OFFER: Upgrade this ebook with O’Reilly

Product information

  • Title: Oracle SQL*Plus: The Definitive Guide, 2nd Edition
  • Author(s): Jonathan Gennick
  • Release date: November 2004
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: 9780596552619