• Preface
    • Documentation Topics
    • Audience
    • Documentation Accessibility
    • Related Documentation
    • Conventions
  • Overview of Development
    • Overview of Developing Applications With Oracle Database XE
      • Oracle Database Express Edition
      • SQL
      • PL/SQL
      • Database Objects
      • Basic Application Development Concepts
      • Development Tools
        • Logging in to the Database Home Page
      • Sample HR Account
    • Other Development Environments
      • Oracle Call Interface and Oracle C++ Call Interface
      • Open Database Connectivity
      • Oracle Provider for OLE DB
      • Oracle Data Provider for .NET
      • Oracle Database Extensions for .NET
      • Oracle Developer Tools for Visual Studio .NET
      • Oracle Application Express
      • Oracle Java Database Connectivity (JDBC)
      • PHP
  • Managing Database Objects
    • Overview of Managing Objects
      • Database Objects for Your Application
      • Managing Database Objects With Object Browser
      • Viewing Data in Tables With Object Browser
      • Viewing Information With Object Reports
    • Using Datatypes
      • Storing Character Data
        • What Are the Character Datatypes?
        • Choosing Between the Character Datatypes
      • Storing Numeric Data
        • What Are the Numeric Datatypes?
        • Using the NUMBER Datatype
        • Using Floating-Point Number Formats
      • Storing Date and Time Data
        • Using DATE and TIMESTAMP Datatypes
      • Storing Large Objects
    • Managing Tables
      • Ensuring Data Integrity in Tables With Constraints
        • Column Default Value
        • NOT NULL Constraint
        • Check Constraint
        • Unique Constraint
        • Primary Key Constraint
        • Foreign Key Constraint
      • Creating a Table
      • Adding a Column To a Table
      • Modifying a Column In a Table
      • Dropping a Column From a Table
      • Adding a Check Constraint
      • Adding a Unique Constraint
      • Adding a Primary Key Constraint
      • Adding a Foreign Key Constraint
      • Viewing Existing Constraints
      • Disabling and Enabling a Constraint
      • Dropping a Constraint
      • Adding Data to a Table
      • Modifying Data in a Table
      • Removing a Row in a Table
      • Dropping a Table
    • Managing Indexes
      • Index Types
      • Indexes for Use with Constraints
      • Guidelines for Creating Indexes
        • Index the Correct Tables and Columns
        • Limit the Number of Indexes for Each Table
        • Drop Indexes That Are No Longer Required
      • Creating an Index
      • Displaying an Index for a Table
      • Dropping an Index
    • Managing Views
      • Creating a View
      • Displaying a View
      • Dropping a View
    • Managing Sequences
      • Creating a Sequence
      • Displaying a Sequence
      • Dropping a Sequence
    • Managing Synonyms
      • Creating a Synonym
      • Displaying a Synonym
      • Dropping a Synonym
  • Using SQL
    • Overview of SQL
    • Running SQL Statements
      • Running SQL Statements on the SQL Commands Page
      • Running SQL Statements in the Script Editor Page
    • Retrieving Data With Queries
      • Displaying Data Using the SELECT Statement
      • Using a Column Alias to Change Headings When Selecting Data
      • Restricting Data Using the WHERE Clause
        • Using Character Literals in SQL Statements
      • Using Regular Expressions When Selecting Data
      • Sorting Data Using the ORDER BY Clause
      • Displaying Data From Multiple Tables
      • Using Bind Variables With the SQL Commands Page
    • Using Pseudocolumns, Sequences, and SQL Functions
      • Using ROWNUM, SYSDATE, and USER Pseudocolumns With SQL
      • Using Arithmetic Operators
      • Using Numeric Functions
      • Using Character Functions
      • Using Date Functions
      • Using Conversion Functions
      • Using Aggregate Functions
      • Using NULL Value Functions
      • Using Conditional Functions
    • Manipulating Data With SQL Statements
      • Adding Data With the INSERT Statement
      • Updating Data With the UPDATE Statement
      • Deleting Data With the DELETE Statement
    • Using Transaction Control Statements
      • Committing Transaction Changes
      • Rolling Back a Transaction
    • Using Data Definition Language Statements to Manage Database Objects
      • Creating a Table With SQL
      • Adding, Altering, and Dropping a Table Column With SQL
      • Creating and Altering a Constraint With SQL
      • Renaming a Table With SQL
      • Dropping a Table With SQL
      • Creating, Altering, and Dropping an Index With SQL
      • Creating and Dropping a View With SQL
      • Creating and Dropping a Sequence With SQL
      • Creating and Dropping a Synonym With SQL
  • Using PL/SQL
    • Overview of PL/SQL
    • Entering and Running PL/SQL Code
      • Running PL/SQL Code in the SQL Commands Page
    • Using the Main Features of PL/SQL
      • Using the PL/SQL Block Structure
      • Inputting and Outputting Data with PL/SQL
      • Using Comments
      • Declaring Variables and Constants
      • Using Identifiers in PL/SQL
      • Assigning Values to a Variable With the Assignment Operator
      • Using Literals
      • Declaring and Assigning Variables With the DEFAULT Keyword or NOT NULL Constraint
      • Assigning Values to a Variable With the PL/SQL SELECT INTO Statement
      • Using %TYPE and %ROWTYPE Attributes to Declare Identical Datatypes
        • Using the %TYPE Attribute to Declare Variables
        • Using the %ROWTYPE Attribute to Declare Variables
      • Using PL/SQL Control Structures
        • Conditional Control With IF-THEN
        • Conditional Control With the CASE Statement
        • Iterative Control With LOOPs
        • Sequential Control With GOTO
      • Using Local PL/SQL Procedures and Functions in PL/SQL Blocks
      • Using Cursors To Retrieve Data
        • Cursor Attributes
      • Working With PL/SQL Data Structures
        • Using Record Types
        • Using Collections
      • Using Bind Variables With PL/SQL
      • Using Dynamic SQL in PL/SQL
    • Handling PL/SQL Errors
      • Summary of Predefined PL/SQL Exceptions
      • Using the Exception Handler
      • Declaring PL/SQL Exceptions
      • Scope Rules for PL/SQL Exceptions
      • Continuing After an Exception Is Raised
  • Using Procedures, Functions, and Packages
    • Overview of Procedures, Functions, and Packages
      • Stored Procedures and Functions
      • Packages
    • Managing Stored Procedures and Functions
      • Creating a Procedure or Function With the SQL Commands Page
      • Creating a Procedure or Function With the Object Browser Page
      • Viewing Procedures or Functions With the Object Browser Page
      • Creating Stored Procedures With SQL CREATE PROCEDURE
      • Creating a Stored Procedure That Uses Parameters
      • Creating a Stored Procedure With the AUTHID Clause
      • Creating Stored Functions With the SQL CREATE FUNCTION Statement
      • Calling Stored Procedures or Functions
      • Editing Procedures or Functions
      • Dropping a Procedure or Function
    • Managing Packages
      • Writing Packages With PL/SQL Code
        • Guidelines for Writing Packages
      • Creating Packages in the SQL Commands Page
      • Creating Packages With the Object Browser Page
      • Viewing Packages With the Object Browser Page
      • Creating Packages With the SQL CREATE PACKAGE Statement
      • Editing Packages
      • Dropping Packages
      • Calling Procedures and Functions in Packages
      • Accessing Variables in Packages
    • Oracle Provided Packages
      • List of Oracle Database XE Packages
      • Overview of Some Useful Packages
        • DBMS_OUTPUT Package
        • DBMS_RANDOM Package
        • HTP Package
        • UTL_FILE Package
  • Using Triggers
    • Overview of Triggers
      • Types of Triggers
      • Naming Triggers
      • When Is a Trigger Fired?
      • Controlling When a Trigger Is Fired
        • Firing Triggers With the BEORE and AFTER Options
        • Firing Triggers With the FOR EACH ROW Option
        • Firing Triggers Based on Conditions (WHEN Clause)
      • Accessing Column Values in Row Triggers
      • Detecting the DML Operation That Fired a Trigger
      • Enabled and Disabled Trigger Modes
      • Error Conditions and Exceptions in the Trigger Body
    • Designing Triggers
      • Guidelines For Triggers
      • Restrictions For Creating Triggers
      • Privileges Needed to Work with Triggers
    • Managing Triggers in the Database
      • Creating a Trigger With the SQL Commands Page
      • Creating a Trigger With the Object Browser Page
      • Viewing a Trigger With Object Browser
      • Creating a Trigger With the AFTER and FOR EACH ROW Option
      • Creating a Trigger With the BEFORE Option and WHEN Clause
      • Creating a Trigger With an Exception Handler
      • Creating a Trigger That Fires Once For Each Update
      • Creating LOGON and LOGOFF Triggers
      • Modifying Triggers
      • Dropping Triggers
      • Disabling Triggers
      • Enabling Triggers
      • Compiling Triggers
        • Trigger Errors
        • Dependencies for Triggers
        • Recompiling Triggers
  • Working in a Global Environment
    • Overview of Globalization Support
      • Globalization Support Features
      • Running the Examples
    • Setting Up the Globalization Support Environment
      • Choosing a Locale with the NLS_LANG Environment Variable
      • Setting NLS Parameters
      • Language and Territory Parameters
        • NLS_LANGUAGE Parameter
        • NLS_TERRITORY Parameter
      • Date and Time Parameters
        • Date Formats
        • Time Formats
      • Calendar Definitions
        • Calendar Formats
        • NLS_CALENDAR Parameter
      • Numeric and List Parameters
        • Numeric Formats
        • NLS_NUMERIC_CHARACTERS Parameter
      • Monetary Parameters
        • Currency Formats
        • NLS_CURRENCY Parameter
        • NLS_ISO_CURRENCY Parameter
        • NLS_DUAL_CURRENCY Parameter
      • Linguistic Sorting and Searching
        • NLS_SORT Parameter
        • NLS_COMP Parameter
        • Case-Insensitive and Accent-Insensitive Searching
      • Length Semantics
        • NLS_LENGTH_SEMANTICS Parameter
    • SQL and PL/SQL Programming with Unicode
      • Overview of Unicode
      • SQL NCHAR Datatypes
        • NCHAR Datatype
        • NVARCHAR2 Datatype
      • Unicode String Literals
      • NCHAR Literal Replacement
    • Locale-Dependent SQL Functions with Optional NLS Parameters
      • Default Values for NLS Parameters in SQL Functions
      • Specifying NLS Parameters in SQL Functions
      • Unacceptable NLS Parameters in SQL Functions
  • Using SQL Command Line
    • Overview of SQL Command Line
    • Using SQL Command Line
      • Starting and Exiting SQL Command Line
      • Displaying Help With SQL Command Line
      • Entering and Executing SQL Statements and Commands
      • SQL Command Line DESCRIBE Command
      • SQL Command Line SET Commands
      • Running Scripts From SQL Command Line
      • Spooling From SQL Command Line
      • Using Variables With SQL Command Line
        • Prompting for a Variable Value in a Query
        • Reusing a Variable Value in a Query
        • Defining a Variable Value for a Query
  • Reserved Words
    • SQL Reserved Words
    • PL/SQL Reserved Words
  • Index