Skip Headers

PL/SQL User's Guide and Reference
10g Release 1 (10.1)

Part Number B10807-01
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Master Index
Master Index
Go to Feedback page
Feedback

Go to previous page
Previous
View PDF

Index

A  B  C  D  E  F  G  H  I  L  M  N  O  P  Q  R  S  T  U  V  W  Z 

Symbols

%BULK_EXCEPTIONS cursor attribute, 11.5.1.2
%BULK_ROWCOUNT cursor attribute, 11.5.1.1
%FOUND cursor attribute, 6.2.1.1, 6.8.1.1
%ISOPEN cursor attribute, 6.2.1.2, 6.8.1.2
%NOTFOUND cursor attribute, 6.8.1.3
%ROWCOUNT cursor attribute, 6.2.1.4, 6.8.1.4
%ROWTYPE attribute
syntax, 13
%TYPE attribute
syntax, 13
:= assignment operator, 1.2.2.2
|| concatenation operator, 2.7.1
. item separator, 2.2.1
<< label delimiter, 2.2.1
.. range operator, 2.2.1, 4.3.6
@ remote access indicator, 2.2.1, 2.4
-- single-line comment delimiter, 2.2.1
; statement terminator, 2.2.1, 13
- subtraction/negation operator, 2.2.1

A

ACCESS_INTO_NULL exception, 10.3
actual parameters, 6.7.1
address, 6.9.1
aggregate assignment, 2.3.4.1
aggregate functions
and PL/SQL, 6.1.3
AL16UTF16 character encoding, 3.1.3.1
aliasing, 8.14
ALL row operator, 6.1.3
ALTER TYPE statement
for type evolution, 12.5.4
anonymous blocks, 1.2.1
apostrophes, 2.2.3.3
assignment operator, 1.2.2.2
assignment statement
syntax, 13
assignments
aggregate, 2.3.4.1
character string, B.1
collection, 5.6
cursor variable, 6.9.6
field, 5.14
record, 5.14
semantics, B.1
associative arrays, 5.1.3
syntax, 13
versus nested tables, 5.2.1
asynchronous operations, 9.9.1
atomically null, 12.7.2
attributes
%ROWTYPE, 2.3.4
%TYPE, 2.3.3
cursor, 6.8
object, 12.2, 12.5
AUTHID clause, 8.3, 8.4, 8.9.2
autonomous transactions
in PL/SQL, 6.12
autonomous triggers, 6.12.4
AUTONOMOUS_TRANSACTION pragma, 6.12.2
syntax, 13

B

base types, 3.1.1.1.1, 3.2
basic loops, 4.3.1
BETWEEN comparison operator, 2.7.1
BFILE datatype, 3.1.4.1
binary operators, 2.7
BINARY_FLOAT and BINARY_DOUBLE datatypes, 3.1.1.2
for computation-intensive programs, 11.6
BINARY_INTEGER datatype, 3.1.1.1
binding, 11.5
blank-padding semantics, B.2
BLOB datatype, 3.1.4.2
blocks
label, 2.5
PL/SQL, 13
structure, 1.2.1
body
cursor, 9.11
function, 8.4
method, 12.5
object, 12.4
package, 9.4
procedure, 8.3
BOOLEAN datatype, 3.1.5.1
Boolean expressions, 2.7.2
Boolean literals, 2.2.3.4
built-in functions, 2.8
bulk binds, 11.5
BULK COLLECT clause, 11.5.2
bulk fetches, 11.5.2.1, 11.5.2.1
bulk returns, 11.5.2.3, 11.5.2.3
%BULK_EXCEPTIONS cursor attribute, 11.5.1.2
%BULK_ROWCOUNT cursor attribute, 11.5.1.1
by-reference parameter passing, 8.14
by-value parameter passing, 8.14

C

call specification, 9.1
calls
inter-language, 8.11
subprogram, 8.6.2
CARDINALITY operator, 5.7
carriage returns, 2.2
CASE expressions, 2.7.3
case sensitivity
identifier, 2.2.2
string literal, 2.2.3.3
CASE statement, 4.2.4
syntax, 13
CASE_NOT_FOUND exception, 10.3
case-insensitive queries, G.11
CHAR datatype, 3.1.2.1
semantics, B
character literals, 2.2.3.2
character sets, 2.1
CHARACTER subtype, 3.1.2.1.1
character values
assigning, B.1
comparing, B.2
inserting, B.3
selecting, B.4
clauses
AUTHID, 8.3, 8.4, 8.9.2
BULK COLLECT, 11.5.2
LIMIT, 11.5.2.2
CLOB datatype, 3.1.4.3
CLOSE statement, 6.5.4.5, 6.9.4.4
syntax, 13
collating sequence, 2.7.2
collection exceptions
when raised, 5.11
collection methods
applying to parameters, 5.10.9
syntax, 13
usage, 5.10
COLLECTION_IS_NULL exception, 10.3
collections, 5.1
assigning, 5.6
bulk binding, 5.14.4, 11.5
comparing, 5.7
constructors, 5.5
declaring variables, 5.4
defining types, 5.3
element types, 5.3
initializing, 5.5
kinds, 5
multilevel, 5.9
referencing, 5.5.1
scope, 5.3
syntax, 13
column alias, 6.5.3
when needed, 2.3.4.2
COMMENT clause, 6.11.1
comments, 2.2.4
restrictions, 2.2.4.3
syntax, 13
COMMIT statement, 6.11.1
syntax, 13
comparison operators, 2.7.1, 6.1.5
comparisons
of character values, B.2
of collections, 5.7
of expressions, 2.7.2
compiling PL/SQL procedures for native execution, 11.9
composite types, 3.1
concatenation operator, 2.7.1
treatment of nulls, 2.7.4.1
conditional control, 4.2
constants
declaring, 2.3
syntax, 13
constraints
NOT NULL, 2.3.2
constructors
collection, 5.5
defining, 12.9
object, 12.5.3
context
transaction, 6.12.2.2
control structures, 4.1
conditional, 4.2
iterative, 4.3
sequential, 4.4
conversion
functions, 3.3.2
conversion, datatype, 3.3
correlated subquery, 6.7
COUNT collection method, 5.10.2
CURRENT OF clause, 6.11.5
CURRVAL pseudocolumn, 6.1.4
cursor attributes
%BULK_EXCEPTIONS, 11.5.1.2
%BULK_ROWCOUNT, 11.5.1.1
%FOUND, 6.2.1.1, 6.8.1.1
%ISOPEN, 6.2.1.2, 6.8.1.2
%NOTFOUND, 6.8.1.3
%ROWCOUNT, 6.2.1.4, 6.8.1.4
implicit, 6.2.1
syntax, 13
values, 6.8.1.4
cursor expressions, 6.10
cursor FOR loops, 6.5.2
passing parameters to, 6.7.1
cursor subqueries, 6.10
cursor variables, 6.9
as parameters to table functions, 11.10.9
assignment, 6.9.6
closing, 6.9.4.4
declaring, 6.9.3
fetching from, 6.9.4.3
opening, 6.9.4.1
restrictions, 6.9.7
syntax, 13
CURSOR_ALREADY_OPEN exception, 10.3
cursors
closing, 6.5.4.5
declaring, 6.5.4.1
explicit, 6.5.4
fetching from, 6.5.4.3
opening, 6.5.4.2
packaged, 9.11
parameterized, 6.7.1
RETURN clause, 9.11
scope rules, 6.5.4.1
syntax, 13

D

dangling refs, 12.13.1.3
database character set, 3.1.3
database triggers, 1.3.1.3
autonomous, 6.12.4
datatypes, 3
BFILE, 3.1.4.1
BINARY_INTEGER, 3.1.1.1
BLOB, 3.1.4.2
BOOLEAN, 3.1.5.1
CHAR, 3.1.2.1
CLOB, 3.1.4.3
DATE, 3.1.6.1
families, 3.1
implicit conversion, 3.3.2
INTERVAL DAY TO SECOND, 3.1.6.6
INTERVAL YEAR TO MONTH, 3.1.6.5
LONG, 3.1.2.2
LONG RAW, 3.1.2.2
national character, 3.1.3
NCHAR, 3.1.3.2
NCLOB, 3.1.4.4
NUMBER, 3.1.1.3
NVARCHAR2, 3.1.3.3
PLS_INTEGER, 3.1.1.4
RAW, 3.1.2.3
RECORD, 5.12
REF CURSOR, 6.9.1
ROWID, 3.1.2.4
scalar versus composite, 3
TABLE, 5.1.1
TIMESTAMP, 3.1.6.2
TIMESTAMP WITH LOCAL TIME ZONE, 3.1.6.4
TIMESTAMP WITH TIME ZONE, 3.1.6.3
UROWID, 3.1.2.4
VARCHAR2, 3.1.2.5
VARRAY, 5.1.2
DATE datatype, 3.1.6.1
dates
converting, 3.3.4
TO_CHAR default format, 3.3.4
datetime literals, 2.2.3.5
DBMS_ALERT package, 9.9.1
DBMS_OUTPUT package, 9.9.2
DBMS_PIPE package, 9.9.3
DBMS_WARNING package, 10.10.3
deadlocks
how handled by PL/SQL, 6.11.1.1
DEC and DECIMAL subtypes, 3.1.1.3.1
declarations
collection, 5.4
constant, 2.3
cursor, 6.5.4.1
cursor variable, 6.9.3
exception, 10.4.1
object, 12.7.1
subprogram, 8.5
variable, 2.3
declarative part
of function, 8.4
of PL/SQL block, 1.2.1
of procedure, 8.3
DECODE function
treatment of nulls, 2.7.4.1
DEFAULT keyword, 2.3.1
default parameter values, 8.6.4
definer's rights, 8.9
DELETE collection method, 5.10.8
DELETE statement
syntax, 13
delimiters, 2.2.1
dense collections, 5.1.1
DEPARTMENTS sample table, Preface
DEREF function, 12.13.1.4
DETERMINISTIC hint, 8.4
digits of precision, 3.1.1.3
DISTINCT row operator, 6.1.3, 6.1.5
dot notation, 1.2.4.1
for collection methods, 5.10
for global variables, 4.3.6.3
for object attributes, 12.8
for object methods, 12.11
for package contents, 9.3.1
DUP_VAL_ON_INDEX exception, 10.3
dynamic SQL, 7.1
tips and traps, 7.7
using EXECUTE IMMEDIATE statement, 7.3

E

element types, collection, 5.3
ELSE clause, 4.2.2
ELSIF clause, 4.2.3
EMPLOYEES sample table, Preface
END IF reserved words, 4.2.1
END LOOP reserved words, 4.3.5
entended rowids, 3.1.2.4.1
error messages
maximum length, 10.8.4
evaluation
short-circuit, 2.7.1
exception handlers, 10.8
OTHERS handler, 10.1
using RAISE statement in, 10.7
using SQLCODE function in, 10.8.4
using SQLERRM function in, 10.8.4
EXCEPTION_INIT pragma, 10.4.3
syntax, 13
using with RAISE_APPLICATION_ERROR, 10.4.4
exception-handling part
of function, 8.4
of PL/SQL block, 1.2.1
of procedure, 8.3
exceptions, 10.1
declaring, 10.4.1
predefined, 10.3
propagation, 10.6
raised in declaration, 10.8.1
raised in handler, 10.8.2
raising with RAISE statement, 10.5.1
reraising, 10.7
scope rules, 10.4.2
syntax, 13
user-defined, 10.4
WHEN clause, 10.8
executable part
of function, 8.4
of PL/SQL block, 1.2.1
of procedure, 8.3
EXECUTE IMMEDIATE statement, 7.3
EXECUTE privilege, 8.9.6
EXISTS collection method, 5.10.1
EXIT statement, 4.3.1, 4.3.6.4
syntax, 13
WHEN clause, 4.3.3
where allowed, 4.3.1
explicit cursors, 6.5.4
expressions, 2.7
Boolean, 2.7.2
CASE, 2.7.3
syntax, 13
EXTEND collection method, 5.10.6
external references, 8.9.2
external routines, 8.11

F

FALSE value, 2.2.3.4
features, new, Preface
FETCH statement, 6.5.4.3, 6.9.4.3
syntax, 13
fetching
across commits, 6.11.5
bulk, 11.5.2.1
fields, 5.12
file I/O, 9.9.4
FIRST collection method, 5.10.4
FLOAT subtype, 3.1.1.3.1
FOR loops, 4.3.6
cursor, 6.5.2
nested, 4.3.6.3
FOR UPDATE clause, 6.5.4.2
restriction on, 6.9.4.1
when to use, 6.11.5
FORALL statement, 11.5.1
syntax, 13
using with BULK COLLECT clause, 11.5.2.4
formal parameters, 6.7.1
format
masks, 3.3.4
forward declarations, 8.5
forward references, 2.3.5
forward type definitions, 12.12.1
%FOUND cursor attribute, 6.2.1.1, 6.8.1.1
functions, 8
body, 8.4
built-in, 2.8
call, 8.4
parameters, 8.4
parts, 8.4
RETURN clause, 8.4
specification, 8.4
syntax, 13

G

GOTO statement, 4.4.1
branching into or out of exception handler, 10.8.3
label, 4.4.1
syntax, 13
GROUP BY clause, 6.1.3

H

handlers, exception, 10.1
handling exceptions, 10
raised in declaration, 10.8.1
raised in handler, 10.8.2
using OTHERS handler, 10.8
handling of nulls, 2.7.4
hash tables
simulating with associative arrays, 5.2
hidden declarations, 9.1
hint, DETERMINISTIC, 8.4
host arrays
bulk binds, 11.5.2.5
HR sample schema, Preface
hypertext markup language (HTML), 9.9.5
hypertext transfer protocol (HTTP), 9.9.5

I

identifiers
forming, 2.2.2
maximum length, 2.2.2
quoted, 2.2.2.3
scope rules, 2.5
IF statement, 4.2
ELSE clause, 4.2.2
ELSIF clause, 4.2.3
syntax, 13
THEN clause, 4.2.1
implicit cursors
attributes, 6.2.1
implicit datatype conversion, 3.3.2
effect on performance, 11.3.1
implicit declarations
cursor FOR loop record, 6.5.2
FOR loop counter, 4.3.6.3
IN comparison operator, 2.7.1
IN OUT parameter mode, 8.6.3.3
IN parameter mode, 8.6.3.1
incomplete object types, 12.12.1
index-by tables
See associative arrays
INDICES OF clause, 11.5.1
infinite loops, 4.3.1
inheritance, 12.6.1
and overloading, 8.8.1
initialization
collection, 5.5
object, 12.7.2
package, 9.4
using DEFAULT, 2.3.1
variable, 2.6
when required, 2.3.2
INSERT statement
syntax, 13
with a record variable, 5.14.2
instances, 12.2
inter-language calls, 8.11
INTERSECT set operator, 6.1.5
INTERVAL DAY TO SECOND datatype, 3.1.6.6
INTERVAL YEAR TO MONTH datatype, 3.1.6.5
INTO clause, 6.9.4.3
INTO list, 6.5.4.3
INVALID_CURSOR exception, 10.3
INVALID_NUMBER exception, 10.3
invoker's rights, 8.9
IS A SET operator, 5.7
IS DANGLING predicate, 12.13.1.3
IS EMPTY operator, 5.7
IS NULL comparison operator, 2.7.1
IS OF predicate, 12.6.1
%ISOPEN cursor attribute, 6.2.1.2, 6.8.1.2

L

labels
block, 2.5
GOTO statement, 4.4.1
loop, 4.3.4
large object (LOB) datatypes, 3.1.4
LAST collection method, 5.10.4
LEVEL pseudocolumn, 6.1.4
lexical units, 2.2
LIKE comparison operator, 2.7.1
LIMIT clause, 11.5.2.2
LIMIT collection method, 5.10.3
limitations, PL/SQL, E
literals, 2.2.3
Boolean, 2.2.3.4
character, 2.2.3.2
datetime, 2.2.3.5
numeric, 2.2.3.1
string, 2.2.3.3
syntax, 13
LOB (large object) datatypes, 3.1.4
lob locators, 3.1.4
local subprograms, 1.3.1.2
locator variables, 10.9.3
LOCK TABLE statement, 6.11.5
syntax, 13
locks, 6.11
modes, 6.11
overriding, 6.11.5
using FOR UPDATE clause, 6.11.5
logical rowids, 3.1.2.4
LOGIN_DENIED exception, 10.3
LONG datatype, 3.1.2.2
maximum length, 3.1.2.2
restrictions, 3.1.2.2
LONG RAW datatype, 3.1.2.2
converting, 3.3.5
maximum length, 3.1.2.2
LOOP statement, 4.3
syntax, 13
loops
counters, 4.3.6
labels, 4.3.4

M

map methods, 12.5.3
maximum precision, 3.1.1.3
maximum size
CHAR value, 3.1.2.1
identifier, 2.2.2
LOB, 3.1.4
LONG RAW value, 3.1.2.2
LONG value, 3.1.2.2
NCHAR value, 3.1.3.2
NVARCHAR2 value, 3.1.3.3
Oracle error message, 10.8.4
RAW value, 3.1.2.3
VARCHAR2 value, 3.1.2.5
MEMBER OF operator, 5.7
membership test, 2.7.1
MERGE statement
syntax, 13
method calls, chaining, 12.11
methods
collection, 5.10
map, 12.5.3
object, 12.2, 12.5
order, 12.5.3
MINUS set operator, 6.1.5
modes, parameter
IN, 8.6.3.1
IN OUT, 8.6.3.3
OUT, 8.6.3.2
modularity, 1.2.6, 9.2
multilevel collections, 5.9
multi-line comments, 2.2.4.2
MULTISET EXCEPT operator, 5.6
MULTISET INTERSECT operator, 5.6
MULTISET UNION operator, 5.6

N

name resolution, 2.4, D
names
cursor, 6.5.4.1
qualified, 2.4
savepoint, 6.11.1.1
variable, 2.4
naming conventions, 2.4
national character datatypes, 3.1.3
national character set, 3.1.3
National Language Support (NLS), 3.1.3
native dynamic SQL. See dynamic SQL
native execution
compiling PL/SQL procedures for, 11.9
NATURAL and NATURALN subtypes, 3.1.1.1.1
NCHAR datatype, 3.1.3.2
NCLOB datatype, 3.1.4.4
nested collections, 5.9
nested cursors, 6.10
nested tables
manipulating, 5.8
syntax, 13
versus associative arrays, 5.2.1
nesting
block, 1.2.1
FOR loop, 4.3.6.3
object, 12.5
record, 5.13
new features, Preface
NEXT collection method, 5.10.5
NEXTVAL pseudocolumn, 6.1.4
nibble, 3.3.5
NLS (National Language Support), 3.1.3
NO_DATA_FOUND exception, 10.3
NOCOPY compiler hint
restrictions on, 11.8.1
non-blank-padding semantics, B.2
NOT logical operator
treatment of nulls, 2.7.4.1
NOT NULL constraint
effect on %TYPE declaration, 2.3.3
restriction, 6.5.4.1
using in collection declaration, 5.4
using in variable declaration, 2.3.2
NOT_LOGGED_ON exception, 10.3
notation
positional versus named, 8.6.2
%NOTFOUND cursor attribute, 6.8.1.3
NOWAIT parameter, 6.11.5
NVARCHAR2 datatype, 3.1.3.3
null handling, 2.7.4
in dynamic SQL, 7.7.6
NULL statement, 4.4.2
syntax, 13
using in a procedure, 8.3
NUMBER datatype, 3.1.1.3
numeric literals, 2.2.3.1
NVL function
treatment of nulls, 2.7.4.1

O

object attributes, 12.2, 12.5
allowed datatypes, 12.5
maximum number, 12.5
object constructors
calling, 12.10
passing parameters to, 12.10
object methods, 12.2, 12.5
calling, 12.11
object tables, 12.13
object types, 12, 12.2
advantages, 12.3
defining, 12.6
examples, 12.6
structure, 12.4
syntax, 13
object-oriented programming, 12
objects
declaring, 12.7.1
initializing, 12.7.2
manipulating, 12.13
sharing, 12.12
OPEN statement, 6.5.4.2
syntax, 13
OPEN-FOR statement, 6.9.4.1
syntax, 13
OPEN-FOR-USING statement
syntax, 13
operators
comparison, 2.7.1
precedence, 2.7
relational, 2.7.1
option, PARALLEL_ENABLE, 8.4
OR keyword, 10.8
order methods, 12.5.3
order of evaluation, 2.7, 2.7.1
OTHERS exception handler, 10.1, 10.8
OUT parameter mode, 8.6.3.2
overloading, 8.7
and inheritance, 8.8.1
object method, 12.5.3
packaged subprogram, 9.7
restrictions, 8.7.2
overriding methods, 12.6.1

P

packaged cursors, 9.11
packaged subprograms, 1.3.1.2
calling, 9.3.1
overloading, 9.7
packages, 9, 9.1
advantages, 9.2
bodiless, 9.3
body, 9.1
initializing, 9.4
private versus public objects, 9.6
product-specific, 9.9
referencing, 9.3.1
scope, 9.3
specification, 9.1
syntax, 13
PARALLEL_ENABLE option, 8.4
parameter aliasing, 8.14
parameter passing
by reference, 8.14
by value, 8.14
in dynamic SQL, 7.3.1
parameters
actual versus formal, 8.6.1
cursor, 6.7.1
default values, 8.6.4
modes, 8.6.3
SELF, 12.5.2
parentheses, 2.7
pattern matching, 2.7.1
performance, 1.1.3
physical rowids, 3.1.2.4
pipe, 9.9.3
PIPE ROW statement
for returning rows incrementally, 11.10.4
pipelining
definition, 11.10.1
placeholders, 7.1
duplicate, 7.7.4
PLS_INTEGER datatype, 3.1.1.4
PL/SQL
advantages, 1.1
anonymous blocks, 1.2.1
architecture, 1.3
block structure, 1.2.1
blocks
syntax, 13
engine, 1.3
limitations, E
performance, 1.1.3
portability, 1.1.5
procedural aspects, 1.2
reserved words, F
sample programs, A
Server Pages (PSPs), 8.12
syntax of language elements, 13
PLSQL_CODE_TYPE initialization parameter, 11.9
PLSQL_NATIVE_LIBRARY_DIR initialization parameter, 11.9
PLSQL_NATIVE_LIBRARY_SUBDIR_COUNT initialization parameter, 11.9
PLSQL_OPTIMIZE_LEVEL initialization parameter, 11.1
PLSQL_WARNINGS initialization parameter, 10.10.2
pointers, 6.9.1
portability, 1.1.5
POSITIVE and POSITIVEN subtypes, 3.1.1.1.1
pragmas, 10.4.3
AUTONOMOUS_TRANSACTION, 6.12.2
EXCEPTION_INIT, 10.4.3
RESTRICT_REFERENCES, 6.12.5, 7.7.9, 8.13
precedence, operator, 2.7
precision of digits
specifying, 3.1.1.3
predefined exceptions
list of, 10.3
raising explicitly, 10.5.1
redeclaring, 10.4.5
predicates, 6.1.5
PRIOR collection method, 5.10.5
PRIOR row operator, 6.1.4, 6.1.5
private objects, 9.6
procedures, 8
body, 8.3
calling, 8.3
parameters, 8.3
parts, 8.3
specification, 8.3
syntax, 13
productivity, 1.1.4
program units, 1.2.6
PROGRAM_ERROR exception, 10.3
propagation, exception, 10.6
pseudocolumns, 6.1.4, 6.1.4
CURRVAL, 6.1.4
LEVEL, 6.1.4
NEXTVAL, 6.1.4
ROWID, 6.1.4
ROWNUM, 6.1.4
public objects, 9.6
purity rules, 8.13

Q

qualifiers
using subprogram names as, 2.4
when needed, 2.4, 2.5
queries
case-insensitive, G.11
query work areas, 6.9.1
quoted identifiers, 2.2.2.3

R

RAISE statement, 10.5.1
syntax, 13
using in exception handler, 10.7
raise_application_error procedure, 10.4.4
raising an exception, 10.5
range operator, 4.3.6
RAW datatype, 3.1.2.3
converting, 3.3.5
maximum length, 3.1.2.3
READ ONLY parameter, 6.11.4
readability, 2.2, 4.4.2
read-only transaction, 6.11.4
RECORD datatype, 5.12
records, 5.12
%ROWTYPE, 6.5.2
assigning, 5.14
bulk-binding collections of, 5.14.5
comparing, 5.14.1
defining, 5.13
implicit declaration, 6.5.2
in SQL INSERT and UPDATE statements, 6.3
inserting, 5.14.2
manipulating, 5.13.1
nesting, 5.13
restrictions on inserts/updates of, 5.14.4
returning into, 5.14.3
syntax, 13
updating, 5.14.3
recursion, 8.10
REF CURSOR datatype, 6.9.1
defining, 6.9.3
REF CURSOR variables
as parameters to table functions, 11.10.9
predefined SYS_REFCURSOR type, 11.10.9
REF function, 12.13.1.2
REF type modifier, 12.12
reference datatypes, 3.1
references, external, 8.9.2
refs, 12.12
dangling, 12.13.1.3
declaring, 12.12
dereferencing, 12.13.1.4
REGEXP_INSTR function, G.3
REGEXP_LIKE function, G.3
REGEXP_REPLACE function, G.3
REGEXP_SUBSTR function, G.3
regular expressions, G.3
relational operators, 2.7.1
remote access indicator, 2.4
REPEAT UNTIL structure
PL/SQL equivalent, 4.3.5
REPLACE function
treatment of nulls, 2.7.4.1
reraising an exception, 10.7
reserved words, 2.2.2.1, F
resolution, name, 2.4, D
RESTRICT_REFERENCES pragma, 8.13
syntax, 13
using with autonomous functions, 6.12.5
using with dynamic SQL, 7.7.9
restricted rowids, 3.1.2.4.1
result set, 6.5.4.2
RETURN clause
cursor, 9.11
function, 8.4
RETURN statement, 8.4.1
syntax, 13
return type, 6.9.3, 8.7.2
return value, function, 8.4
RETURNING clause, 12.13.2
with a record variable, 5.14.3
REVERSE reserved word, 4.3.6
ROLLBACK statement, 6.11.1
effect on savepoints, 6.11.1.1
syntax, 13
rollbacks
implicit, 6.11.2
of FORALL statement, 11.5.1
statement-level, 6.11.1.1
routines, external, 8.11
row locks, 6.11.5
row operators, 6.1.5
%ROWCOUNT cursor attribute, 6.2.1.4, 6.8.1.4
ROWID datatype, 3.1.2.4
ROWID pseudocolumn, 6.1.4
rowids, 3.1.2.4
ROWIDTOCHAR function, 6.1.4
ROWNUM pseudocolumn, 6.1.4
%ROWTYPE attribute, 2.3.4
ROWTYPE_MISMATCH exception, 10.3
RPC (remote procedure call), 10.6
rules, purity, 8.13
run-time errors, 10

S

sample programs, A
savepoint names
reusing, 6.11.1.1
SAVEPOINT statement, 6.11.1
syntax, 13
scalar datatypes, 3.1
scale
specifying, 3.1.1.3
scientific notation, 2.2.3.1
SCN_TO_TIMESTAMP function, 13
scope, 2.5
collection, 5.3
cursor, 6.5.4.1
cursor parameter, 6.5.4.1
definition, 2.5
exception, 10.4.2
identifier, 2.5
loop counter, 4.3.6.3
package, 9.3
searched CASE expression, 2.7.3.1
SELECT INTO statement
syntax, 13
selector, 2.7.3
SELF parameter, 12.5.2
semantics
assignment, B.1
blank-padding, B.2
non-blank-padding, B.2
string comparison, B.2
separators, 2.2.1
sequence, 6.1.4
SERIALLY_REUSABLE pragma
syntax, 13
Server Pages, PL/SQL, 8.12
SET operator, 5.6
set operators, 6.1.5
SET TRANSACTION statement, 6.11.4
syntax, 13
short-circuit evaluation, 2.7.1
side effects, 8.6.3
controlling, 8.13
SIGNTYPE subtype, 3.1.1.1.1
single-line comments, 2.2.4.1
size limit, varray, 5.3
spaces
where allowed, 2.2
sparse collections, 5.1.1
specification
call, 9.1
cursor, 9.11
function, 8.4
method, 12.5
object, 12.4
package, 9.3
procedure, 8.3
SQL
comparison operators, 6.1.5
data manipulation statements, 6.1.1
dynamic, 7.1
issuing from PL/SQL, 6.1
pseudocolumns, 6.1.4
SQL cursor
syntax, 13
SQLCODE function, 10.8.4
syntax, 13
SQLERRM function, 10.8.4
syntax, 13
standalone subprograms, 1.3.1.2
START WITH clause, 6.1.4
statement terminator, 13
statement-level rollbacks, 6.11.1.1
statements, PL/SQL
assignment, 13
CASE, 13
CLOSE, 6.5.4.5, 6.9.4.4, 13
COMMIT, 13
DELETE, 13
dynamic SQL, 7.1
EXECUTE IMMEDIATE, 7.3
EXIT, 13
FETCH, 6.5.4.3, 6.9.4.3, 13
FORALL, 11.5.1
GOTO, 13
IF, 13
INSERT, 13
LOCK TABLE, 13
LOOP, 13
MERGE, 13
NULL, 13
OPEN, 6.5.4.2, 13
OPEN-FOR, 6.9.4.1, 13
RAISE, 13
RETURN, 13
ROLLBACK, 13
SAVEPOINT, 13
SELECT INTO, 13
SET TRANSACTION, 13
UPDATE, 13
STEP clause
equivalent in PL/SQL, 4.3.6.1
STORAGE_ERROR exception, 10.3
when raised, 8.10.1
store tables, 5.2.2
stored subprograms, 1.3.1.2
string comparison semantics, B.2
string literals, 2.2.3.3
STRING subtype, 3.1.2.5.1
subprograms, 8.1
declaring, 8.5
how calls are resolved, 8.8
local, 1.3.1.2
overloading, 8.7
packaged, 1.3.1.2
procedure versus function, 8.4
recursive, 8.10.1
standalone, 1.3.1.2
stored, 1.3.1.2
subquery, 6.6
SUBSCRIPT_BEYOND_COUNT exception, 10.3
SUBSCRIPT_OUTSIDE_LIMIT exception, 10.3
substitutability of object types, 8.8.1
SUBSTR function, 10.8.4
subtypes, 3.1.1.1.1, 3.2, 12.6.1
CHARACTER, 3.1.2.1.1
compatibility, 3.2.2.1
constrained versus unconstrained, 3.2
DEC and DECIMAL, 3.1.1.3.1
defining, 3.2.1
FLOAT, 3.1.1.3.1
NATURAL and NATUARALN, 3.1.1.1.1
POSITIVE and POSITIVEN, 3.1.1.1.1
SIGNTYPE, 3.1.1.1.1
STRING, 3.1.2.5.1
VARCHAR, 3.1.2.5.1
supertypes, 12.6.1
syntax
diagram reading, Preface
of PL/SQL language elements, 13
SYS_REFCURSOR type, 11.10.9

T

TABLE datatype, 5.1.1
table functions, 11.10
querying, 11.10.6
TABLE operator, 5.8.2, 5.8.2
tabs, 2.2
terminator, statement, 2.2.1
ternary operators, 2.7
THEN clause, 4.2.1
TIMEOUT_ON_RESOURCE exception, 10.3
TIMESTAMP datatype, 3.1.6.2
TIMESTAMP WITH LOCAL TIME ZONE datatype, 3.1.6.4
TIMESTAMP WITH TIME ZONE datatype, 3.1.6.3
TIMESTAMP_TO_SCN function, 13
TOO_MANY_ROWS exception, 10.3
trailing blanks, B.3
transactions, 6.1.2
autonomous
in PL/SQL, 6.12
committing, 6.11.1
context, 6.12.2.2
ending properly, 6.11.3
processing, 6.1.2, 6.11
read-only, 6.11.4
rolling back, 6.11.1
visibility, 6.12.2.3
TREAT operator, 12.6.1
triggers, 1.3.1.3
autonomous, 6.12.4
TRIM collection method, 5.10.7
TRUE value, 2.2.3.4
%TYPE attribute, 2.3.3
type definitions
collection, 5.3
forward, 12.12.1
RECORD, 5.13
REF CURSOR, 6.9.3
type evolution, 12.5.4
type inheritance, 12.6.1

U

unary operators, 2.7
underscores, 2.2.2
unhandled exceptions, 10.6, 10.8.5
uninitialized object
how treated, 12.7.3
UNION and UNION ALL set operators, 6.1.5
universal rowids, 3.1.2.4
UPDATE statement
syntax, 13
with a record variable, 5.14.3
URL (uniform resource locator), 9.9.5
UROWID datatype, 3.1.2.4
user-defined exceptions, 10.4
user-defined records, 5.12
user-defined subtypes, 3.2
USING clause, 7.3, 13
UTF8 character encoding, 3.1.3.1
UTL_FILE package, 9.9.4
UTL_HTTP package, 9.9.5

V

VALUE function, 12.13.1.1
VALUE_ERROR exception, 10.3
VALUES OF clause, 11.5.1
VARCHAR subtype, 3.1.2.5.1
VARCHAR2 datatype, 3.1.2.5
semantics, B
variables
assigning values, 2.6
declaring, 2.3
global, 9.5
initializing, 2.6
syntax, 13
VARRAY datatype, 5.1.2
varrays
size limit, 5.3
syntax, 13
visibility
of package contents, 9.1
transaction, 6.12.2.3
versus scope, 2.5

W

warning messages, 10.10.2
WHEN clause, 4.3.3, 10.8
WHILE loop, 4.3.5
wildcards, 2.7.1
words, reserved, F
work areas, query, 6.9.1
Wrap Utility, C

Z

ZERO_DIVIDE exception, 10.3