3. iii
Contents
Preface............................................................................................................................................................... xxi
Intended Audience.................................................................................................................................... xxi
Documentation Accessibility................................................................................................................... xxi
Related Documents .................................................................................................................................. xxii
Conventions .............................................................................................................................................. xxii
What's New in the SQL Reference?............................................................................................... xxiii
Oracle Database 10g Release 2 New Features in the SQL Reference............................................... xxiii
Oracle Database 10g Release 1 New Features in the SQL Reference............................................... xxv
1 Introduction to Oracle SQL
History of SQL ......................................................................................................................................... 1-1
SQL Standards ......................................................................................................................................... 1-1
How SQL Works ............................................................................................................................... 1-2
Common Language for All Relational Databases ......................................................................... 1-3
Recent Enhancements.............................................................................................................................. 1-3
Lexical Conventions................................................................................................................................. 1-3
Tools Support ........................................................................................................................................... 1-4
2 Basic Elements of Oracle SQL
Datatypes .................................................................................................................................................. 2-1
Oracle Built-in Datatypes.................................................................................................................. 2-6
CHAR Datatype ......................................................................................................................... 2-8
NCHAR Datatype ...................................................................................................................... 2-9
NVARCHAR2 Datatype ........................................................................................................... 2-9
VARCHAR2 Datatype ............................................................................................................... 2-9
VARCHAR Datatype .............................................................................................................. 2-10
NUMBER Datatype ................................................................................................................ 2-10
Floating-Point Numbers ........................................................................................................ 2-11
BINARY_FLOAT .............................................................................................................. 2-12
BINARY_DOUBLE........................................................................................................... 2-12
Numeric Precedence ............................................................................................................... 2-13
DATE Datatype ....................................................................................................................... 2-16
Using Julian Days ............................................................................................................. 2-16
TIMESTAMP Datatype .......................................................................................................... 2-17
4. iv
TIMESTAMP WITH TIME ZONE Datatype ....................................................................... 2-17
TIMESTAMP WITH LOCAL TIME ZONE Datatype ........................................................ 2-18
INTERVAL YEAR TO MONTH Datatype .......................................................................... 2-18
INTERVAL DAY TO SECOND Datatype ........................................................................... 2-19
Datetime/Interval Arithmetic ............................................................................................... 2-19
Support for Daylight Saving Times ...................................................................................... 2-21
Datetime and Interval Examples ........................................................................................... 2-22
RAW and LONG RAW Datatypes ....................................................................................... 2-23
BFILE Datatype ....................................................................................................................... 2-26
BLOB Datatype ........................................................................................................................ 2-26
CLOB Datatype ....................................................................................................................... 2-27
NCLOB Datatype .................................................................................................................... 2-27
Restricted Rowids ................................................................................................................... 2-27
Extended Rowids .................................................................................................................... 2-28
Compatibility and Migration ................................................................................................ 2-28
UROWID Datatype ................................................................................................................. 2-28
ANSI, DB2, and SQL/DS Datatypes ........................................................................................... 2-29
User-Defined Types ....................................................................................................................... 2-30
Object Types ............................................................................................................................ 2-30
REF Datatypes ......................................................................................................................... 2-31
Varrays ...................................................................................................................................... 2-31
Nested Tables .......................................................................................................................... 2-31
Oracle-Supplied Types .................................................................................................................. 2-32
Any Types ....................................................................................................................................... 2-32
ANYTYPE ................................................................................................................................. 2-32
ANYDATA................................................................................................................................ 2-32
ANYDATASET......................................................................................................................... 2-32
XML Types ...................................................................................................................................... 2-33
XMLType .................................................................................................................................. 2-33
URI Datatypes ......................................................................................................................... 2-33
URIFactory Package ................................................................................................................ 2-34
Spatial Types ................................................................................................................................... 2-34
SDO_GEOMETRY ................................................................................................................... 2-35
SDO_TOPO_GEOMETRY ..................................................................................................... 2-35
SDO_GEORASTER.................................................................................................................. 2-35
Media Types .................................................................................................................................... 2-35
ORDAudio ............................................................................................................................... 2-36
ORDImage ................................................................................................................................ 2-36
ORDImageSignature ............................................................................................................... 2-36
ORDVideo ................................................................................................................................ 2-36
ORDDoc .................................................................................................................................... 2-36
SI_StillImage ............................................................................................................................ 2-36
SI_Color .................................................................................................................................... 2-36
SI_AverageColor ..................................................................................................................... 2-36
SI_ColorHistogram ................................................................................................................. 2-36
SI_PositionalColor .................................................................................................................. 2-36
SI_Texture ................................................................................................................................ 2-36
5. v
SI_FeatureList .......................................................................................................................... 2-37
Expression Filter Type.................................................................................................................... 2-37
Expression................................................................................................................................. 2-37
Datatype Comparison Rules .............................................................................................................. 2-37
Numeric Values .............................................................................................................................. 2-37
Date Values ..................................................................................................................................... 2-37
Character Values ............................................................................................................................ 2-37
Object Values .................................................................................................................................. 2-40
Varrays and Nested Tables ........................................................................................................... 2-40
Data Conversion ............................................................................................................................. 2-40
Implicit and Explicit Data Conversion ................................................................................ 2-40
Implicit Data Conversion ....................................................................................................... 2-41
Implicit Data Conversion Examples...................................................................................... 2-43
Explicit Data Conversion ....................................................................................................... 2-43
Literals .................................................................................................................................................... 2-44
Text Literals ..................................................................................................................................... 2-45
Numeric Literals ............................................................................................................................. 2-46
Integer Literals ......................................................................................................................... 2-46
NUMBER and Floating-Point Literals .................................................................................. 2-47
Datetime Literals ............................................................................................................................ 2-49
Interval Literals................................................................................................................................ 2-51
INTERVAL YEAR TO MONTH ............................................................................................ 2-52
INTERVAL DAY TO SECOND ............................................................................................. 2-53
Format Models ...................................................................................................................................... 2-54
Number Format Models ................................................................................................................ 2-55
Number Format Elements ..................................................................................................... 2-56
Datetime Format Models .............................................................................................................. 2-58
Datetime Format Elements .................................................................................................... 2-59
Uppercase Letters in Date Format Elements ............................................................... 2-59
Punctuation and Character Literals in Datetime Format Models ............................. 2-59
Datetime Format Elements and Globalization Support .................................................... 2-62
ISO Standard Date Format Elements ................................................................................... 2-62
The RR Datetime Format Element ........................................................................................ 2-63
RR Datetime Format Examples....................................................................................... 2-63
Datetime Format Element Suffixes ....................................................................................... 2-64
Format Model Modifiers ............................................................................................................... 2-64
Format Model Examples......................................................................................................... 2-65
String-to-Date Conversion Rules ................................................................................................. 2-67
XML Format Model ....................................................................................................................... 2-67
Nulls ........................................................................................................................................................ 2-68
Nulls in SQL Functions ................................................................................................................. 2-69
Nulls with Comparison Conditions ............................................................................................ 2-69
Nulls in Conditions ........................................................................................................................ 2-69
Comments .............................................................................................................................................. 2-70
Comments Within SQL Statements ............................................................................................. 2-70
Comments on Schema Objects ..................................................................................................... 2-71
Using Hints ..................................................................................................................................... 2-71
6. vi
Alphabetical Listing of Hints ........................................................................................................ 2-75
ALL_ROWS Hint .................................................................................................................... 2-75
APPEND Hint .......................................................................................................................... 2-75
CACHE Hint ............................................................................................................................ 2-76
CLUSTER Hint ........................................................................................................................ 2-76
CURSOR_SHARING_EXACT Hint ..................................................................................... 2-76
DRIVING_SITE Hint .............................................................................................................. 2-77
DYNAMIC_SAMPLING Hint ............................................................................................... 2-77
FACT Hint ................................................................................................................................ 2-78
FIRST_ROWS Hint .................................................................................................................. 2-78
FULL Hint ................................................................................................................................ 2-78
HASH Hint .............................................................................................................................. 2-79
INDEX Hint ............................................................................................................................. 2-79
INDEX_ASC Hint ................................................................................................................... 2-80
INDEX_COMBINE Hint ....................................................................................................... 2-80
INDEX_DESC Hint ................................................................................................................. 2-80
INDEX_FFS Hint ..................................................................................................................... 2-81
INDEX_JOIN Hint .................................................................................................................. 2-81
INDEX_SS Hint ....................................................................................................................... 2-81
INDEX_SS_ASC Hint ............................................................................................................. 2-82
INDEX_SS_DESC Hint ........................................................................................................... 2-82
LEADING Hint ........................................................................................................................ 2-83
MERGE Hint ............................................................................................................................ 2-83
MODEL_MIN_ANALYSIS Hint ........................................................................................... 2-83
NOAPPEND Hint ................................................................................................................... 2-84
NOCACHE Hint ..................................................................................................................... 2-84
NO_EXPAND Hint ................................................................................................................. 2-84
NO_FACT Hint ....................................................................................................................... 2-85
NO_INDEX Hint ..................................................................................................................... 2-85
NO_INDEX_FFS Hint ............................................................................................................ 2-85
NO_INDEX_SS Hint ............................................................................................................... 2-86
NO_MERGE Hint ................................................................................................................... 2-86
NO_PARALLEL Hint ............................................................................................................. 2-86
NOPARALLEL Hint................................................................................................................ 2-87
NO_PARALLEL_INDEX Hint .............................................................................................. 2-87
NOPARALLEL_INDEX Hint................................................................................................. 2-87
NO_PUSH_PRED Hint .......................................................................................................... 2-87
NO_PUSH_SUBQ Hint .......................................................................................................... 2-87
NO_PX_JOIN_FILTER Hint .................................................................................................. 2-88
NO_REWRITE Hint ................................................................................................................ 2-88
NOREWRITE Hint................................................................................................................... 2-88
NO_QUERY_TRANSFORMATION Hint ........................................................................... 2-88
NO_STAR_TRANSFORMATION Hint ............................................................................... 2-88
NO_UNNEST Hint ................................................................................................................. 2-88
NO_USE_HASH Hint ............................................................................................................ 2-89
NO_USE_MERGE Hint .......................................................................................................... 2-89
NO_USE_NL Hint .................................................................................................................. 2-89
7. vii
NO_XML_QUERY_REWRITE Hint...................................................................................... 2-89
ORDERED Hint ....................................................................................................................... 2-90
PARALLEL Hint ..................................................................................................................... 2-90
PARALLEL_INDEX Hint ...................................................................................................... 2-91
PQ_DISTRIBUTE Hint ........................................................................................................... 2-91
PUSH_PRED Hint ................................................................................................................... 2-92
PUSH_SUBQ Hint ................................................................................................................... 2-93
PX_JOIN_FILTER Hint ........................................................................................................... 2-93
QB_NAME Hint ...................................................................................................................... 2-93
REWRITE Hint ........................................................................................................................ 2-94
RULE Hint ................................................................................................................................ 2-94
STAR_TRANSFORMATION Hint ....................................................................................... 2-94
UNNEST Hint .......................................................................................................................... 2-95
USE_CONCAT Hint ............................................................................................................... 2-95
USE_HASH Hint ..................................................................................................................... 2-96
USE_MERGE Hint .................................................................................................................. 2-96
USE_NL Hint ........................................................................................................................... 2-96
USE_NL_WITH_INDEX Hint ............................................................................................... 2-97
Database Objects................................................................................................................................... 2-97
Schema Objects ............................................................................................................................... 2-97
Nonschema Objects ........................................................................................................................ 2-98
Schema Object Names and Qualifiers ............................................................................................. 2-98
Schema Object Naming Rules ...................................................................................................... 2-98
Schema Object Naming Examples ............................................................................................. 2-101
Schema Object Naming Guidelines ........................................................................................... 2-102
Syntax for Schema Objects and Parts in SQL Statements........................................................... 2-102
How Oracle Database Resolves Schema Object References ................................................... 2-103
Referring to Objects in Other Schemas ..................................................................................... 2-104
Referring to Objects in Remote Databases ................................................................................ 2-104
Creating Database Links ...................................................................................................... 2-104
Database Link Names .................................................................................................... 2-104
Username and Password............................................................................................... 2-105
Database Connect String................................................................................................ 2-105
Referring to Database Links ................................................................................................ 2-105
Referring to Partitioned Tables and Indexes ............................................................................ 2-106
Referring to Object Type Attributes and Methods................................................................... 2-107
3 Pseudocolumns
Hierarchical Query Pseudocolumns .................................................................................................... 3-1
CONNECT_BY_ISCYCLE Pseudocolumn .................................................................................... 3-1
CONNECT_BY_ISLEAF Pseudocolumn ....................................................................................... 3-2
LEVEL Pseudocolumn ...................................................................................................................... 3-2
Sequence Pseudocolumns ..................................................................................................................... 3-3
Where to Use Sequence Values ....................................................................................................... 3-3
How to Use Sequence Values .......................................................................................................... 3-4
Version Query Pseudocolumns ............................................................................................................ 3-5
COLUMN_VALUE Pseudocolumn ...................................................................................................... 3-6
14. xiv
Name Precedence ......................................................................................................................... 5-237
Naming Conventions ........................................................................................................... 5-238
6 Expressions
About SQL Expressions ......................................................................................................................... 6-1
Simple Expressions ................................................................................................................................. 6-3
Compound Expressions ......................................................................................................................... 6-4
CASE Expressions ................................................................................................................................... 6-5
CURSOR Expressions.............................................................................................................................. 6-6
Datetime Expressions ............................................................................................................................. 6-8
Function Expressions .............................................................................................................................. 6-9
Interval Expressions ............................................................................................................................. 6-10
Object Access Expressions .................................................................................................................. 6-10
Scalar Subquery Expressions ............................................................................................................. 6-11
Model Expressions ................................................................................................................................ 6-11
Type Constructor Expressions ............................................................................................................ 6-13
Variable Expressions ............................................................................................................................ 6-15
Expression Lists .................................................................................................................................... 6-15
7 Conditions
About SQL Conditions............................................................................................................................ 7-1
Condition Precedence........................................................................................................................ 7-3
Comparison Conditions ......................................................................................................................... 7-4
Simple Comparison Conditions ...................................................................................................... 7-5
Group Comparison Conditions ....................................................................................................... 7-6
Floating-Point Conditions ..................................................................................................................... 7-7
Logical Conditions ................................................................................................................................... 7-7
Model Conditions ................................................................................................................................... 7-9
IS ANY Condition ............................................................................................................................. 7-9
IS PRESENT Condition ................................................................................................................. 7-10
Multiset Conditions ............................................................................................................................. 7-11
IS A SET Condition ........................................................................................................................ 7-11
IS EMPTY Condition ...................................................................................................................... 7-11
MEMBER Condition ...................................................................................................................... 7-12
SUBMULTISET Condition ............................................................................................................ 7-13
Pattern-matching Conditions ............................................................................................................. 7-14
LIKE Condition ............................................................................................................................... 7-14
REGEXP_LIKE Condition ............................................................................................................. 7-17
Range Conditions ................................................................................................................................. 7-18
Null Conditions .................................................................................................................................... 7-19
XML Conditions ................................................................................................................................... 7-19
EQUALS_PATH Condition .......................................................................................................... 7-19
UNDER_PATH Condition ............................................................................................................ 7-20
Compound Conditions ........................................................................................................................ 7-21
EXISTS Condition ................................................................................................................................ 7-21
IN Condition ........................................................................................................................................ 7-21
IS OF type Condition ........................................................................................................................... 7-23
15. xv
8 Common SQL DDL Clauses
allocate_extent_clause ............................................................................................................................ 8-2
constraint .................................................................................................................................................. 8-4
deallocate_unused_clause .................................................................................................................... 8-26
file_specification ................................................................................................................................... 8-28
logging_clause ........................................................................................................................................ 8-36
parallel_clause ....................................................................................................................................... 8-39
physical_attributes_clause .................................................................................................................. 8-42
size_clause ............................................................................................................................................. 8-45
storage_clause ........................................................................................................................................ 8-46
9 SQL Queries and Subqueries
About Queries and Subqueries ............................................................................................................ 9-1
Creating Simple Queries ........................................................................................................................ 9-2
Hierarchical Queries ............................................................................................................................... 9-2
Hierarchical Query Examples .......................................................................................................... 9-5
The UNION [ALL], INTERSECT, MINUS Operators....................................................................... 9-7
Sorting Query Results ............................................................................................................................ 9-9
Joins ......................................................................................................................................................... 9-10
Join Conditions ............................................................................................................................... 9-10
Equijoins .......................................................................................................................................... 9-10
Self Joins .......................................................................................................................................... 9-11
Cartesian Products ......................................................................................................................... 9-11
Inner Joins ....................................................................................................................................... 9-11
Outer Joins ....................................................................................................................................... 9-11
Antijoins .......................................................................................................................................... 9-13
Semijoins .......................................................................................................................................... 9-13
Using Subqueries ................................................................................................................................. 9-13
Unnesting of Nested Subqueries ...................................................................................................... 9-14
Selecting from the DUAL Table ........................................................................................................ 9-15
Distributed Queries ............................................................................................................................. 9-15
10 SQL Statements: ALTER CLUSTER to ALTER JAVA
Types of SQL Statements .................................................................................................................... 10-1
Data Definition Language (DDL) Statements ............................................................................ 10-1
Data Manipulation Language (DML) Statements ..................................................................... 10-2
Transaction Control Statements ................................................................................................... 10-3
Session Control Statements ........................................................................................................... 10-3
System Control Statement ............................................................................................................. 10-3
Embedded SQL Statements .......................................................................................................... 10-3
How the SQL Statement Chapters are Organized ......................................................................... 10-3
ALTER CLUSTER ................................................................................................................................. 10-5
ALTER DATABASE ............................................................................................................................. 10-9
ALTER DIMENSION ........................................................................................................................ 10-45
ALTER DISKGROUP ........................................................................................................................ 10-48
ALTER FUNCTION ........................................................................................................................... 10-61
16. xvi
ALTER INDEX .................................................................................................................................... 10-64
ALTER INDEXTYPE .......................................................................................................................... 10-82
ALTER JAVA ........................................................................................................................................ 10-84
11 SQL Statements: ALTER MATERIALIZED VIEW to ALTER SYSTEM
ALTER MATERIALIZED VIEW ........................................................................................................ 11-2
ALTER MATERIALIZED VIEW LOG ............................................................................................ 11-15
ALTER OPERATOR ........................................................................................................................... 11-21
ALTER OUTLINE ............................................................................................................................... 11-24
ALTER PACKAGE ............................................................................................................................. 11-26
ALTER PROCEDURE ........................................................................................................................ 11-29
ALTER PROFILE ................................................................................................................................ 11-32
ALTER RESOURCE COST ............................................................................................................... 11-35
ALTER ROLE ....................................................................................................................................... 11-38
ALTER ROLLBACK SEGMENT ..................................................................................................... 11-40
ALTER SEQUENCE ........................................................................................................................... 11-43
ALTER SESSION ................................................................................................................................ 11-45
Initialization Parameters and ALTER SESSION....................................................................... 11-50
Session Parameters and ALTER SESSION ............................................................................... 11-53
ALTER SYSTEM ................................................................................................................................. 11-60
Initialization Parameters and ALTER SYSTEM........................................................................ 11-72
System Parameters and ALTER SYSTEM.................................................................................. 11-83
Shared Server Parameters .................................................................................................... 11-83
12 SQL Statements: ALTER TABLE to ALTER TABLESPACE
ALTER TABLE ....................................................................................................................................... 12-2
ALTER TABLESPACE ........................................................................................................................ 12-79
13 SQL Statements: ALTER TRIGGER to COMMIT
ALTER TRIGGER ................................................................................................................................. 13-2
ALTER TYPE ......................................................................................................................................... 13-5
ALTER USER ....................................................................................................................................... 13-18
ALTER VIEW ....................................................................................................................................... 13-25
ANALYZE ............................................................................................................................................ 13-27
ASSOCIATE STATISTICS ................................................................................................................ 13-38
AUDIT .................................................................................................................................................. 13-42
CALL ..................................................................................................................................................... 13-53
COMMENT ......................................................................................................................................... 13-57
COMMIT ............................................................................................................................................. 13-59
14 SQL Statements: CREATE CLUSTER to CREATE JAVA
CREATE CLUSTER .............................................................................................................................. 14-2
CREATE CONTEXT ............................................................................................................................. 14-9
CREATE CONTROLFILE ................................................................................................................. 14-12
CREATE DATABASE ......................................................................................................................... 14-18
CREATE DATABASE LINK ............................................................................................................. 14-31
17. xvii
CREATE DIMENSION ..................................................................................................................... 14-36
CREATE DIRECTORY ...................................................................................................................... 14-42
CREATE DISKGROUP ..................................................................................................................... 14-44
CREATE FUNCTION ........................................................................................................................ 14-48
CREATE INDEX ................................................................................................................................. 14-58
CREATE INDEXTYPE ....................................................................................................................... 14-81
CREATE JAVA ..................................................................................................................................... 14-84
15 SQL Statements: CREATE LIBRARY to CREATE SPFILE
CREATE LIBRARY ............................................................................................................................... 15-2
CREATE MATERIALIZED VIEW ..................................................................................................... 15-4
CREATE MATERIALIZED VIEW LOG ......................................................................................... 15-25
CREATE OPERATOR ........................................................................................................................ 15-32
CREATE OUTLINE ............................................................................................................................ 15-35
CREATE PACKAGE ........................................................................................................................... 15-39
CREATE PACKAGE BODY .............................................................................................................. 15-43
CREATE PFILE .................................................................................................................................... 15-47
CREATE PROCEDURE ..................................................................................................................... 15-49
CREATE PROFILE ............................................................................................................................. 15-54
CREATE RESTORE POINT ............................................................................................................. 15-60
CREATE ROLE .................................................................................................................................... 15-63
CREATE ROLLBACK SEGMENT .................................................................................................. 15-66
CREATE SCHEMA ............................................................................................................................. 15-69
CREATE SEQUENCE ........................................................................................................................ 15-71
CREATE SPFILE ................................................................................................................................. 15-75
16 SQL Statements: CREATE SYNONYM to CREATE TRIGGER
CREATE SYNONYM ........................................................................................................................... 16-2
CREATE TABLE .................................................................................................................................... 16-6
CREATE TABLESPACE ..................................................................................................................... 16-61
CREATE TRIGGER ............................................................................................................................ 16-75
17 SQL Statements: CREATE TYPE to DROP ROLLBACK SEGMENT
CREATE TYPE ....................................................................................................................................... 17-3
CREATE TYPE BODY ........................................................................................................................ 17-21
CREATE USER .................................................................................................................................... 17-26
CREATE VIEW .................................................................................................................................... 17-32
DELETE ................................................................................................................................................ 17-43
DISASSOCIATE STATISTICS ........................................................................................................ 17-51
DROP CLUSTER ................................................................................................................................ 17-53
DROP CONTEXT ............................................................................................................................... 17-55
DROP DATABASE ............................................................................................................................. 17-56
DROP DATABASE LINK ................................................................................................................. 17-57
DROP DIMENSION .......................................................................................................................... 17-58
DROP DIRECTORY .......................................................................................................................... 17-59
DROP DISKGROUP ......................................................................................................................... 17-60