Skip Headers
Pro*C/C++ Programmer's Guide
10g Release 2 (10.2)

Part Number B14407-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  J  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z 

Symbols

#include
file inclusion, Pro*C compared to C, 5.4.1

A

abnormal termination
automatic rollback, F.15
active set
changing, 6.5.2, 6.5.3
cursor movement through, 6.5.3
definition of, 2.1.9
how identified, 6.5
if empty, 6.5.3
when fetched from, 6.5.3
when no longer defined, 6.5
ALLOCATE
allocating a cursor variable, 4.5.2
ALLOCATE DESCRIPTOR statement, 14.5.1, F.5
ALLOCATE SQL statement, 17.4.2
ALLOCATE SQL statements, F.4
allocating
cursor variables, 4.5.2
cursors, F.4
thread context, 11.4.2.2, F.17
ANSI C Support, E.1.3
ANSI dynamic SQL, A.2.12
reference semantics, 14.3.1
See also dynamic SQL (ANSI), 14
application development process, 2.2
array of structs, 8.10, A.2.1
ARRAYLEN statement, 7.5.1
arrays
batch fetch, 8.4.1
bulk operations (ANSI dynamic SQL), 14.3.2
chapter discusses how to use, 8
definition of, 4.8.1
host arrays, 2.1.7
operations, 2.1.7
varying length, 18.1.2
associative interface, 17.4
when to use, 17.4.1
AT clause
in CONNECT statement, 3.2.4.1
in DECLARE CURSOR statement, 3.2.4.1.3
in DECLARE STATEMENT statement, 3.2.4.1.4
in EXECUTE IMMEDIATE statement, 3.2.4.1.4
of COMMIT statement, F.15, F.23
of EXECUTE IMMEDIATE statement, F.35
of EXECUTE statement, F.32
of INSERT statement, F.40
of SAVEPOINT statement, F.72
of SELECT statement, F.73
of SROLLBACK statement, F.71
of UPDATE statement, F.76
restriction on, 3.2.4.1.3
use of, 3.2.4.1.3
attributes of a collection
descriptions, 18.4.6
AUTO_CONNECT, 10.5.1
precompiler option, 3.1.3.1
AUTO_CONNECT precompiler option, 10.5.1
automatic connections, 3.1.3, 3.2.4

B

batch fetch
advantage of, 8.4.1
example of, 8.4.1
number of rows returned by, 8.4.3
BFILES, 16.1.2
security, 16.1.3
bind descriptor, 13.10.1, 15.2.1, 15.2.1
definition of, 13.10.1
information in, 13.10.2
bind SQLDA
purpose of, 15.1.3
bind variables
input host variables, 13.10.1
binding
definition of, 13.5
BREAK action
of WHENEVER, F.78
Byte Ordering, E.1.6

C

C preprocessor
directives supported by Pro*C, 5.4
how used in Pro*C, 5.4
C structs
generating for a REF, 17.13.1
using, 17.12
C types of collection attributes, 18.4.6
C variable in SQLDA
how value is set, 15.3.9
purpose of, 15.3.9
C++, 1.6.5
C++ applications, 12
cache, 17.3
CACHE FREE ALL SQL statement, 17.4.4
CACHE FREE ALL statement, F.6
CALL SQL statement, F.7
CALL statement, 7.7.2.3, A.2.3
example, 7.7.2.4
Calling Java from PL/SQL, A.3.5
CASE OTT parameter, 19.5.2.10
case sensitivity
in precompiler options, 10.1.1
CHAR datatype, 4.1.2.17
CHAR_MAP precompiler option, 5.1.1, 10.5.2, A.2.6
character data, 5.1
character strings
multibyte, 4.11.4
CHARF datatype, 4.1.2.19, 5.3.3
CHARZ datatype, 4.1.2.18
CLOSE CURSOR statement, 14.5.13
CLOSE SQL statements, F.8
CLOSE statement
dependence on precompiler options, 6.5.4
example, 6.5.4, F.8
purpose of, 6.5, 6.5.4
use in dynamic SQL method 4, 15.6.18
CLOSE_ON_COMMIT
precompiler option, 10.5.4, A.3.9
closing
cursors, F.8
CODE
precompiler option, 12.2.1
CODE OTT parameter, 19.5.2.4
code page, 4.10
CODE precompiler option, 10.5.8, 10.5.8
coding conventions, 2.3
COLLECT GET statement
example, 18.5.2
COLLECTION APPEND, F.9
COLLECTION APPEND statement, 18.4.4
SQL statements
COLLECTION APPEND, F.9
COLLECTION DESCRIBE
example, 18.5.3
COLLECTION DESCRIBE statement, 18.4.6
SQL statements
COLLECTION DESCRIBE, F.10
COLLECTION GET statement, 18.4.1
SQL statements
COLLECTION GET, F.11
collection object types
handling, 18.2.2
COLLECTION RESET statement, 18.4.3
example, 18.5.4
SQL statements
COLLECTION RESET, F.12
COLLECTION SET statement, 18.4.2
example, 18.5.2
SQL statements
COLLECTION SET, F.13
COLLECTION TRIM statement, 18.4.5
SQL statements
COLLECTION TRIM, F.14
collection types
structs for, 18.2
collections, A.2.13
and C, 18.1.3
autonomous access, 18.2.2.1
descriptors, 18.2
element access, 18.2.2.2
manipulating, 18.2.2
nested tables, 18.1.1
OBJECT GET statement, 18.3
OBJECT SET statement, 18.3
VARRAYs, 18.1.2
column list
in INSERT statements, 6.3.2
when permissible to omit, 6.3.2
COMMENT clause
of COMMIT statement, F.15
Comments
restrictions in PL/SQL block, 13.12.4
comments
ANSI, 2.3.1
which allowed, 2.3.1
commit
automatic, 3.5
explicit versus implicit, 3.5
function of, 3.4
COMMIT SQL statement, F.15
COMMIT statement, 3.6
effect of, 3.6
ending a transaction, F.71
example of, 3.6
examples, F.15
purpose of, 3.6
RELEASE option in, 3.6
using in a PL/SQL block, 3.14.3
where to place, 3.6
committing
transactions, F.15
communicating over a network, 3.2.1
COMP_CHARSET precompiler option, 10.5.9, 10.5.9
compiling, 2.6
specifying include file locations, 5.4.7
concurrency
definition of, 3.3
concurrent connections, 3.2.2
conditional precompilation, 2.4
defining symbols, 5.6.1
example, 2.4.2, 5.6.2
CONFIG OTT parameter, 19.5.2.8
CONFIG precompiler option, 10.5.3, 10.5.5, 10.5.6, 10.5.7, 10.5.10, 10.5.10, 10.5.11, 10.5.13
configuration files, 10.2.1
and the Object Type Translator, 19.2.2
location, 10.2.1
system, 10.2.2
user, 10.2.2
CONNECT statement, F.16, F.16
AT clause in, 3.2.4.1
connecting to Oracle with, 3.1
examples, F.16
requirements for, 3.1
USING clause in, 3.2.4.1
using to enable a semantic check, D.3.1.1
connecting to Oracle, 3.1
automatic connections, 3.1.3
concurrently, 3.2.2
example of, 3.1
using Oracle Net, 3.2.2
connection pooling, 11.6
demo program1, 11.6.2
demo program2, 11.6.3
example, 11.6.3.3
using, 11.6.1
connections
concurrent, 3.2.4.2
default versus nondefault, 3.2.3
Explicit connections, 3.2.4
implicit, 3.2.5
naming of, 3.2.4
const
declaring constants, 5.7.2
CONTEXT ALLOCATE SQL statement, F.17
CONTEXT ALLOCATE statement, 11.4.2.2
context block
definition of, 20.4.1
CONTEXT FREE statement, 11.4.2.4, F.18
CONTEXT OBJECT OPTION GET SQL statement, 17.7.2
CONTEXT OBJECT OPTION SET SQL statement, 17.7.1
CONTEXT USE directive, 11.4.2.3
CONTEXT USE SQL directive, F.21
CONTEXT USE SQL statement, 11.4.2.3
CONTINUE action
in the WHENEVER statement, 9.8.2.1
of WHENEVER directive, F.78, F.78
result of, 9.8.2.1
CONVBUFSZ clause, 4.11.3
CPP_SUFFIX
precompiler option, 12.2.3
CPP_SUFFIX precompiler option, 10.5.12
CPP_SUFFIX precompiler options, 10.5.12
CREATE PROCEDURE statement
embedded, 7.7.1
creating
savepoints, F.72
creating temporary LOB, 16.4.5
CURRENT OF clause, 8.3.3
example of, 6.8
mimicking with ROWID, 3.12, 8.11
purpose of, 6.8
restrictions on, 6.8.1
current row
definition of, 2.1.9
using FETCH to retrieve, 6.5
cursor cache
definition of, 9.10.4
purpose of, C.8.2.1
cursor control statements
example of typical sequence, 6.9
cursor operations
overview of, 6.5
cursor variables, 4.5, F.4
allocating, 4.5.2
declaring, 4.5.1
restrictions on, 4.5.6
cursors, 2.5.1.1, 4.5
allocating, F.4
allocating a cursor variable, 4.5.2
analogy for, 2.1.9
association with queries, 6.5
closing, F.8
declaring, 6.5.1
definition of, 2.1.9
explicit versus implicit, 2.1.9
fetching rows from, F.36, F.37
for multirow queries, 6.5
how handling affects performance, C.8.1
movement through active set, 6.5.3
opening, F.67, F.68
purpose of, 6.5
reopening, 6.5.2, 6.5.3
restrictions on declaring, 6.5.1
rules for naming, 6.5.1
scope of, 6.5.1
scrollable cursors, 6.6
statements for manipulating, 6.5
types of, 2.1.9
using more than one, 6.5.1

D

data definition language
in transactions, 3.5
data integrity, 3.2.4.3
definition of, 3.3
data locks, 3.3
database link
creating synonym for, 3.2.5.1
defining, 3.2.5.1
example using, 3.2.5.1
using in INSERT statement, F.40
where stored, 3.2.5.1
database types
new, 17.15
databases
naming, 3.2.3
datatype equivalencing, 2.1.8
datatypes
ANSI DATE, 4.1.3.2
codes used in descriptors, 15.4.2
coercing NUMBER to VARCHAR2, 15.4.2
conversions, 5.2, 5.2
dealing with ORACLE internal, 15.4.2
equivalencing, 5.3
equivalencing, purpose of, 2.1.8
internal, 4.1.1
internal versus external, 2.1.6
INTERVAL DAY TO SECOND, 4.1.3.7
INTERVAL YEAR TO MONTH, 4.1.3.6
list of internal, 15.4.1.1
need to coerce, 15.4.2
Oracle, 2.1.6
OTT mappings, 19.2.5
restrictions on using, 17.16
TIMESTAMP, 4.1.3.3
TIMESTAMP WITH LOCAL TIME ZONE, 4.1.3.5
TIMESTAMP WITH TIME ZONE, 4.1.3.4
user-defined type equivalencing, F.75
when to reset, 15.4.2
DATE datatype, 4.1.2.10
DATE, ANSI
datatype, 4.1.3.2
datetime
avoiding unexpected results, 4.1.3.8
DBMS interaction with MODE, 10.5.14
DBMS option, 5.3.3
DBMS precompiler option, 10.5.14, 10.5.14
deadlock
definition of, 3.3
effect on transactions, 3.8.1
how broken, 3.8.1
DEALLOCATE DESCRIPTOR statement, 14.5.2, F.22
declaration
of cursors, 6.5.1
of host arrays, 8.2
of pointer variables, 4.9.1
of SQLCA, 9.6.1
declarative SQL statements
in transactions, 3.5
DECLARE CURSOR directives
examples, F.23
DECLARE CURSOR statement, 14.5.10
AT clause in, 3.2.4.1.3
use in dynamic SQL method 4, 15.6.7
DECLARE DATABASE SQL directives, F.24
Declare Section
allowable statements, 2.3.3
form, 2.3.3
purpose, 2.3.3
required when MODE=ANSI, 10.5.33
requirements, 2.3.3
rules for defining, 2.3.3
when MODE=ANSI, 5.3.4
when required, 2.3.3, 4.2.1
DECLARE statement, 6.5.1
example of, 6.5.1
purpose of, 6.5
required placement of, 6.5.1
scope of, F.25
use in dynamic SQL method 3, 13.9.2
DECLARE STATEMENT directive, F.25
DECLARE STATEMENT statement
AT clause in, 3.2.4.1.4
example of using, 13.11
using with dynamic SQL, 13.11
when required, 13.11
DECLARE statements
examples, F.25
DECLARE TABLE directive
examples, F.26
using with the SQLCHECK option, D.3.1.2
DECLARE TABLE SQL directive, F.26
DECLARE TABLE statement
need for with AT clause, 3.2.4.1.1
DECLARE TYPE directive, F.27
DEF_SQLCODE precompiler option, 10.5.15
default connections, 3.2.3
default database, 3.2.3
default file name extensions, 19.5.7
DEFINE precompiler option, 10.5.16
used in application migration, 5.4.9
defining symbols, 2.4.1
DELETE SQL statement, F.28
DELETE statement
embedded SQL examples, F.28
example of, 6.3.4
purpose of, 6.3.4
using host arrays in, 8.7
WHERE clause in, 6.3.4
delimiters
C versus SQL, 2.3.4
DEPT table, 2.7
DESCRIBE BIND VARIABLES statement
use in dynamic SQL method 4, 15.6.8
DESCRIBE command
use with PREPARE command, F.29
DESCRIBE DESCRIPTOR statement, F.30
DESCRIBE INPUT statement, 14.5.6
DESCRIBE OUTPUT statement, 14.5.7
DESCRIBE SELECT LIST statement
use in dynamic SQL method 4, 15.6.12
DESCRIBE SQL statement, F.29
DESCRIBE statement
examples, F.29
use in dynamic SQL Method 4, 13.10.1
descriptions of collection attributes, 18.4.6
descriptors, 15.2.1
bind descriptor, 13.10.1
definition of, 13.10
need for, 15.2.1
select descriptor, 13.10.1
using the sqlald() function to allocate, 15.2.4
using the sqlclu() function to deallocate, 15.6.17
determining current value of precompiler options, 10.2.2
distributed processing
support for, 3.2.2
using Oracle Net for, 3.2.2
distributed transactions, F.71
DML Returning Clause, A.3.6
DML returning clauses, 6.4
DO action
in the WHENEVER statement, 9.8.2.2
of WHENEVER directive, F.78
result of, 9.8.2.2
DTP model, 5.12
dummy host variables
placeholders, 13.4
DURATION precompiler option, 10.5.18, 17.8.2
dynamic PL/SQL
rules for, 13.12
versus dynamic SQL, 13.12
dynamic SQL
advantages and disadvantages of, 13.2
cannot use cursor variables with, 4.5.6
choosing the right method, 13.6.5
definition of, 2.1.3
guidelines for, 13.6.5
overview of, 13.1
restriction on, 6.8.1
restrictions on use of datatypes, 17.16
restrictions on using datatypes in, 17.16
use of PL/SQL with, 7.9
uses for, 13.2
using the AT clause in, 3.2.4.1.4
when to use, 13.3
dynamic SQL (ANSI)
basics, 14.1
bulk operations, 14.3.2
differences from Oracle dynamic, 14.5.14
Oracle extensions, 14.3
Overview, 14.2
Precompiler Options, 14.1.1
precompiler options, 14.4
reference semantics, 14.3.1
sample program, 14.6.2
sample programs, 14.6
dynamic SQL method 1
commands used with, 13.6.1
description of, 13.7
example of, 13.7.1
how to use, 13.7
requirements for, 13.6.1
use of EXECUTE IMMEDIATE with, 13.7
use of PL/SQL with, 13.12.1
dynamic SQL method 2
commands used with, 13.6.2
description of, 13.8
example of, 13.8.2
requirements for, 13.6.2
use of DECLARE STATEMENT with, 13.11
use of EXECUTE with, 13.8
use of PL/SQL with, 13.12.2
use of PREPARE with, 13.8
dynamic SQL method 3
commands used with, 13.6.3
compared to method 2, 13.9
example program, 13.9.6
requirements for, 13.6.3
sequence of statements used with, 13.9
use of DECLARE STATEMENT with, 13.11
use of DECLARE with, 13.9.2
use of FETCH with, 13.9.4
use of OPEN with, 13.9.3
use of PL/SQL with, 13.12.3
use of PREPARE with, 13.9.1
dynamic SQL method 4
need for descriptors with, 15.2.1
overview of, 13.10.1
prerequisites for using, 15.4
requirements for, 13.6.4
requirements of, 15.1.1
sample program, 15.7
sequence of statements used with, 13.10.4, 15.6
steps for, 15.5
use of CLOSE statement in, 15.6.18
use of DECLARE CURSOR statement in, 15.6.7
use of DECLARE STATEMENT with, 13.11
use of DESCR, 13.10.1
use of DESCRIBE statement in, 15.6.8, 15.6.12
use of descriptors with, 13.10
use of FETCH statement in, 15.6.15
use of OPEN statement in, 15.6.11
use of PL/SQL with, 13.12.4
use of PREPARE statement in, 15.6.6
use of the SQLDA in, 13.10.1, 15.2.1
using host arrays with, 15.6.19
using the FOR clause with, 13.11.1, 15.6.19
when needed, 13.10
dynamic SQL methods
overview of, 13.6
dynamic SQL statements
binding of host variables in, 13.5
definition of, 13.1
requirements for, 13.4
use of placeholders in, 13.4
using host arrays in, 13.11.1
versus static SQL statements, 13.1

E

embedded PL/SQL
advantages of, 7.1.1
cursor FOR loop, 7.1.3
example of, 7.3.1, 7.3.2
overview of, 2.1.4
packages, 7.1.5
PL/SQL tables, 7.1.6
procedures and functions, 7.1.4
requirements for, 7.2
SQLCHECK option, 7.2
support for SQL, 2.1.4
user-defined records, 7.1.7
using %TYPE, 7.1.2
using the VARCHAR pseudotype with, 7.3.3
using to improve performance, C.4
where allowed, 7.2
embedded SQL
ALLOCATE statement, F.4
CLOSE statement, F.8
CONTEXT ALLOCATE statement, 11.4.2.2, F.17
CONTEXT FREE statement, 11.4.2.4
definition of, 2.1.1
difference from interactive SQL, 2.1.2
ENABLE THREADS statement, 11.4.2.1
EXEC SQL CACHE FREE ALL, 17.4.4
EXECUTE statement, F.32
key concepts of, 2.1
mixing with host-language statements, 2.1.2
OPEN statement, F.67
overview of, 2.1.1
PREPARE statement, F.69
requirements for, 2.1.2
SAVEPOINT statement, F.72
SELECT statement, F.73
syntax for, 2.1.2
testing with SQL*Plus, 1.3
TYPE directive, F.75
UPDATE statement, F.76
using OCI types in, 17.14.2
using REFs in, 17.13.3
VAR directive, F.77
when to use, 1.3
WHENEVER directive, F.78
embedded SQL statements
labels for, 9.8.2.5
referencing host arrays in, 8.3.1
referencing host variables in, 4.2.2
suffixes and prefixes not allowed, 2.3.2
terminator for, 2.3.13
use of apostrophes in, 2.3.4
use of quotation marks in, 2.3.4
embedding
PL/SQL blocks in precompiler programs, F.32
EMP table, 2.7
ENABLE THREADS SQL statement, F.31
ENABLE THREADS statement, 11.4.2.1
enabling
threads, 11.4.2.1
encoding scheme (character set or code page), 4.10
enqueues
locking, 3.3
entering options, 5.4.4, 10.4
equivalencing
host variable equivalencing, F.77
user-defined type equivalencing, F.75
equivalencing of datatypes
datatype equivalencing, 2.1.8
error detection
error reporting, F.78
error handling, 2.1.11
alternatives, 9.2
need for, 9.1
overview of, 2.1.11
SQLCA versus WHENEVER statement, 9.2.2
use of ROLLBACK statement in, 3.8
error messages
maximum length of, 9.7
use in error reporting, 9.5.5
using the sqlglm() function to get, 9.7
where available in SQLCA, 9.5.5
error reporting
key components of, 9.5
use of error messages in, 9.5.5
use of parse error offset in, 9.5.4
use of rows-processed count in, 9.5.3
use of warning flags in, 9.5.2
WHENEVER directive, F.78
ERRORS precompiler option, 10.5.19
ERRTYPE
precompiler option, 10.5.20
ERRTYPE OTT parameter, 19.5.2.9
ERRTYPE precompiler option, 17.8.5
exception, PL/SQL
definition of, 7.4.1
EXEC ORACLE DEFINE statement, 5.6
EXEC ORACLE ELSE statement, 2.4, 5.6
EXEC ORACLE ENDIF statement, 2.4, 5.6
EXEC ORACLE IFDEF statement, 2.4, 5.6
EXEC ORACLE IFNDEF statement, 2.4, 5.6
EXEC ORACLE OPTION statement
set option values inline, 10.4
EXEC ORACLE statement
scope of, 10.4.2.2
syntax for, 10.4.2
uses for, 10.4.2.1
EXEC ORACLE statements, 2.4
EXEC SQL CACHE FREE statement, 17.4.4
EXEC SQL clause
using to embed SQL, 2.1.2
EXEC SQL INCLUDE
contrasted with #include, 5.4.8
EXEC SQL VAR statement
CONVBUFSZ clause, 4.11.3
EXEC TOOLS
GET CONTEXT statement, 20.5.5
GET statement, 20.5.3
MESSAGE statement, 20.5.6
SET CONTEXT statement, 20.5.4
SET statement, 20.5.2
EXEC TOOLS statements, 20.5
executable SQL statements
purpose of, 6.3
uses for, 2.1.1.1
where allowed, 2.1.1.1
EXECUTE ... END-EXEC SQL statement, F.32
EXECUTE DESCRIPTOR statement
SQL statements
EXECUTE DESCRIPTOR, F.34
EXECUTE IMMEDIATE SQL statement, F.35
EXECUTE IMMEDIATE statement, 14.5.9
AT clause in, 3.2.4.1.4
examples, F.35
use in dynamic SQL method 1, 13.7
EXECUTE optional keyword of ARRAYLEN statement, 7.5.2
EXECUTE SQL statement, F.33
EXECUTE statement, 14.5.8
examples, F.32, F.33
use in dynamic SQL method 2, 13.8
execution of statements, 13.5
execution plan, C.5, C.5.2
EXPLAIN PLAN statement
function of, C.5.2
using to improve performance, C.5.2
explicit connections, 3.2.4
description of, 3.2.4
multiple, 3.2.4.2
single, 3.2.4.1
extensions
default file name, 19.5.7
external datatypes
definition of, 2.1.6
FLOAT, 4.1.2.4
INTEGER, 4.1.2.3
STRING, 4.1.2.5
external procedures, A.3.3
callbacks, 7.8
calling from PL/SQL, 7.8
creating, 7.8.2
error-handling, 7.8.3
restrictions, 7.8.1

F

F variable in SQLDA
how value is set, 15.3.6
purpose of, 15.3.6
FAQs, 1.6
features
new, Preface
features,new, Preface
FETCH DESCRIPTOR SQL statement, F.37
FETCH SQL statement, F.36
FETCH statement, 14.5.12
example of, 6.5.3
examples, F.36
INTO clause in, 6.5.3
purpose of, 6.5, 6.5.3
results of, 6.5.3
use in dynamic SQL method 3, 13.9.4
use in dynamic SQL method 4, 15.6.15
used after OPEN command, F.68
used after OPEN statement, F.67
fetching
rows from cursors, F.36, F.37
fetching in batches
batch fetch, 8.4.1
FIPS flagger
warns of array usage, 8.3.4
warns of missing Declare Section, 4.2.1
warns of use of pointers as host variables, 5.1.3.3
FIPS precompiler option, 10.5.22
flags
warning flags, 9.5.2
FLOAT datatype, 4.1.2.4
FOR clause
example of using, 8.8
of embedded SQL EXECUTE DESCRIPTOR statement, F.34, F.34
of embedded SQL EXECUTE statement, F.33, F.33
purpose of, 8.8
requirements for, 8.8
restrictions on, 8.8.1
using in dynamic SQL method 4, 15.6.19
using with host arrays, 8.8
when variable negative or zero, 8.8
FOR UPDATE OF clause
locking rows with, 3.11
purpose of, 3.11.1
when to use, 3.11
FORCE clause
of COMMIT statement, F.15
of ROLLBACK statement, F.71
forward references
why not allowed, 6.5.1
FREE SQL statement, 17.4.3, F.38
free() function, 15.6.17
example of using, 15.6.17
freeing
thread context, 11.4.2.4, F.18
Frequently Asked Questions, 1.6
full scan
description of, C.6
function prototype
definition of, 10.5.8
functions
cannot serve as host variables, 4.2.2.1

G

GENXTB form
how to run, 20.12
use with user exits, 20.12
GENXTB utility
how to run, 20.12
use with user exits, 20.12
GET DESCRIPTOR statement, 14.5.3
Globalization Support, 4.10, A.2.5
GOTO action
in the WHENEVER statement, 9.8.2.5
of WHENEVER directive, F.78
result of, 9.8.2.5
guidelines
for dynamic SQL, 13.6.5
for separate precompilations, 2.5.1
for the WHENEVER statement, 9.8.6
for transactions, 3.14.1

H

HEADER precompiler option, 5.5, 10.5.23
heap
definition of, 9.10.4
HFILE OTT parameter, 19.5.2.7
hints
COST, C.5.1
for the ORACLE SQL statement optimizer, 6.7
in DELETE statements, F.28
in SELECT statements, F.73
in UPDATE statements, F.76
HOLD_CURSOR
precompiler option
used to improved performance, C.8.2.4
what it affects, C.8
HOLD_CURSOR option
of ORACLE Precompilers, F.8
HOLD_CURSOR precompiler option, 10.5.23
host arrays
advantages of, 8.1
declaring, 8.2, 8.2
dimensioning, 8.2
in the DELETE statement, 8.7
in the INSERT statement, 8.5
in the SELECT statement, 8.4
in the UPDATE statement, 8.6
in the WHERE clause, 8.9
matching sizes of, 8.3.1
referencing, 8.2.1, 8.3.1
restrictions on, 8.3.3, 8.4.7, 8.5.1, 8.6.1, 8.7.1
used as input host variables, 8.3
used as output host variables, 8.3
using in dynamic SQL method 4, 15.6.19
using in dynamic SQL statements, 13.11.1
using the FOR clause with, 8.8
using to improve performance, C.3
when not allowed, 8.2.1
host language
definition of, 2.1.1, 2.1.1.1
host program
definition of, 2.1.1
host structures
arrays in, 4.8.1
declaring, 4.8
host variables, 6.1.1
assigning values to, 2.1.5
declarations, 18.2.1
declaring, 2.3.3, 18.2.1
definition of, 2.1.5
dummy, 13.4
host variable equivalencing, F.77
in EXECUTE statement, F.33
in OPEN statement, F.67
in user exits, 20.4.1
input versus output, 6.1.1
must resolve to an address, 4.2.2.1
overview of, 2.1.5
purpose of, 6.1
restrictions on, 4.2.2.1
rules for naming, 2.3.8
using in PL/SQL, 7.3

I

I variable in SQLDA
how value is set, 15.3.5
purpose of, 15.3.5
IAP in SQL*Forms
purpose of, 20.13
identifiers, ORACLE
how to form, F.3.5
implicit connections, 3.2.5
multiple, 3.2.5.2
single, 3.2.5.1
IN OUT parameter mode, 7.1.4
IN parameter mode, 7.1.4
INAME precompiler option, 10.5.25
INCLUDE
precompiler option, use of, 5.4.7
using to include the SQLCA, 9.6.1
INCLUDE precompiler option, E.1.11
indexes
using to improve performance, C.6
indicator arrays, 8.3.2
example of using, 8.3.2
uses for, 8.3.2
INDICATOR keyword, 4.3.1
indicator variables
assigning values to, 6.2
association with host variables, 6.2
declarations, 18.2.1
declaring, 4.3, 18.2.1
definition of, 2.1.5
function of, 6.2
guidelines, 4.3.3
interpreting values of, 6.2
naming of, 4.8.4
referencing, 4.3
requirements for, 6.2
used with multibyte character strings, 4.11.6
using in PL/SQL, 7.4
using to detect NULLs, 6.2
using to detect truncated values, 6.2
using to insert NULLs, 6.2.1
using to return NULLs, 6.2.2
using to test for NULLs, 6.2.4
with structures, 4.8.4
in-doubt transaction, 3.13
INITFILE OTT parameter, 19.5.2.5
INITFUNC OTT parameter, 19.5.2.6
initialization function
calling, 19.3.2
tasks of, 19.3.3
input host variables
assigning values to, 6.1.1
definition of, 6.1.1
restrictions on, 6.1.1
uses for, 6.1.1
where allowed, 6.1.1
INSERT SQL statement, F.40
examples, F.40
INSERT statement
column list in, 6.3.2
example of, 6.3.2
INTO clause in, 6.3.2
purpose of, 6.3.2
requirements for, 6.3.2
using host arrays in, 8.5
VALUES clause in, 6.3.2
inserting
rows into tables and views, F.40
INTEGER datatype, 4.1.2.3
interface
native, 5.12
XA, 5.12
internal datatypes
definition of, 2.1.6
INTERVAL DAY TO SECOND datatype, 4.1.3.7
INTERVAL YEAR TO MONTH datatype, 4.1.3.6
INTO clause
for output host variables, 6.1.1
in FETCH statements, 6.5.3
in INSERT statements, 6.3.2
in SELECT statements, 6.3.1
of FETCH DESCRIPTOR statement, F.37
of FETCH statement, F.36
of SELECT statement, F.73
used with FETCH instead of SELECT, 6.5.1
intype file, 19.5.4
providing when running OTT, 19.2.4
structure of, 19.5.4
INTYPE OTT parameter, 19.5.2.2
INTYPE precompiler option, 10.5.27
invalid use
of precompiler preprocessor, 5.4.5.1

J

joins
restriction on, 6.8.1

L

L variable in SQLDA
how value is set, 15.3.3
purpose of, 15.3.3
label name
maximum length of, 9.8.2.5
Large Objects (LOBs), A.2.11
LDA, 5.10
remote and multiple connections, 5.10.2
setup for OCI version 8, 5.10.1
lines
continuation, 2.3.9
maximum length, 2.3.10
LINES precompiler option, 10.5.28
link
database link, 3.2.5.1
linking, 2.6
on UNIX, 1.6.11
on VMS, 1.6.11
two-task, 2.6
Linking in an XA Library, E.1.8
LNAME precompiler option, 10.5.29
LNPROC
VMS link script, 1.6.11
LOB APPEND SQL statement, F.41
LOB APPEND statement, 16.4.1
LOB ASSIGN SQL statement, F.42
LOB ASSIGN statement, 16.4.2
LOB CLOSE SQL statement, F.43
LOB CLOSE statement, 16.4.3
LOB COPY SQL statement, F.44
LOB COPY statement, 16.4.4
LOB CREATE TEMPORARY SQL statement, F.45
LOB CREATE temporary statement, 16.4.5
LOB DESCRIBE SQL statement, F.46
LOB DISABLE BUFFERING SQL statement, F.47
LOB DISABLE BUFFERING statement, 16.4.6
LOB ENABLE BUFFERING SQL statement, F.48
LOB ENABLE BUFFERING statement, 16.4.7
LOB ERASE SQL statement, F.49
LOB ERASE statement, 16.4.8
LOB FILE CLOSE ALL SQL statement, F.50
LOB FILE CLOSE ALL statement, 16.4.9
LOB file close all statement, 16.4.9
LOB FILE SET SQL statement, F.51
LOB FILE SET statement, 16.4.10
LOB FLUSH BUFFER SQL statement, F.52
LOB FLUSH BUFFER statement, 16.4.11
LOB FREE TEMPORARY SQL statement, F.53
LOB FREE TEMPORARY statement, 16.4.12
LOB LOAD FROM FILE statement, 16.4.13
LOB LOAD SQL statement, F.54
LOB OPEN SQL statement, F.55
LOB OPEN statement, 16.4.14
LOB READ SQL statement, F.56
LOB READ statement, 16.4.15
LOB TRIM SQL statement, F.57
LOB WRITE SQL statement, F.58
LOBs
access methods, 16.2.1
BFILES, 16.1.2
buffering system, 16.3.2
external, 16.1.2
initializing, 16.2.3
internal, 16.1.1
locators, 16.1.5
locators in C, 16.2.2
temporary, 16.1.6
Location of Included Files, E.1.2
location of the Pro*C/C++ Executable, E.1.9
location transparency
how provided, 3.2.5.1
lock
released by ROLLBACK statement, F.71
LOCK TABLE statement
closes mall cursors, 3.11.2
example of, 3.11.2
locking tables with, 3.11.2
NOWAIT parameter in, 3.11.2
purpose of, 3.11.2
locking, 3.11
definition of, 3.3
explicit versus implicit, 3.11
modes of, 3.3
overriding default, 3.11
privileges needed to obtain, 3.14.2
table versus row, 3.11
uses for, 3.11
with FOR UPDATE OF, 3.11
with the LOCK TABLE statement, 3.11.2
logon, 3.1
Logon Data Area, 5.10
LONG datatype, 4.1.2.7
LONG RAW datatype, 4.1.2.13
LONG VARCHAR
datatype, 4.1.2.15
LONG VARRAW datatype, 4.1.2.16
LTYPE precompiler option, 10.5.30
lvalue, 4.2

M

M variable in SQLDA
how value is set, 15.3.8
purpose of, 15.3.8
macro precompiler options, 10.2.3
malloc()
example of using, 15.6.14
purpose of, 15.6.14
MAXLITERAL
default value for, 2.3.11
MAXLITERAL precompiler option, 10.5.31
MAXOPENCURSORS
precompiler option
effect on performance, C.8.2.2
for multiple cursors, 6.5.1
specifying for separate precompilation, 2.5.1.2
what it affects, C.8
MAXOPENCURSORS precompiler option, 10.5.32
metadata, 18.4.7
micro precompiler options, 10.2.3
migration
error message codes, A.3.11
include files, 5.4.10
migration from earlier releases, A.4
MODE interaction with DBMS, 10.5.14
MODE precompiler option, 10.5.33
modes, parameter, 7.1.4
multithreaded applications
sample program, 11.5
user-interface features
embedded SQL statements and directives, 11.4.2

N

N variable in SQLDA
how value is set, 15.3.1
purpose of, 15.3.1
naming
of cursors, 6.5.1
of database objects, F.3.5
of select-list items, 15.2.1
of SQL*Forms user exits, 20.14.1
NATIVE
value of DBMS option, 10.5.14
native interface, 5.12
navigational access sample program, 17.11
nested tables, 18.1.1
creation, 18.1.1
network
communicating over, 3.2.1
protocols, 3.2.1
reducing traffic, C.4
new features, Preface
NLS parameters, 4.10
NLS_CURRENCY, 4.10
NLS_DATE_FORMAT, 4.10
NLS_DATE_LANGUAGE, 4.10
NLS_ISO_CURRENCY, 4.10
NLS_LANG, 4.10
NLS_LANGUAGE, 4.10
NLS_NUMERIC_CHARACTERS, 4.10
NLS_TERRITORY, 4.10
NLS_CHAR precompiler option, 10.5.34, 10.5.35
NLS_LOCAL precompiler option, 10.5.36
node
current, 3.2.3
definition of, 3.2.1
NOT FOUND condition
in the WHENEVER statement, 9.8.1.3
meaning of, 9.8.1.3
of WHENEVER directive, F.78
NOWAIT parameter
effect of, 3.11.2
in LOCK TABLE statements, 3.11.2
omitting, 3.11.2
NULLs
definition of, 2.1.5
detecting, 6.2
handling in dynamic SQL method 4, 15.4.3
hardcoding, 6.2.1
inserting, 6.2.1
restrictions on, 6.2.4
returning, 6.2.2
testing for, 6.2.4
using the sqlnul() function to test for, 15.4.3
null-terminated strings, 4.1.2.5.2
NUMBER datatype, 4.1.2.2
using the sqlprc() function with, 15.4.2.1
numeric expressions
cannot serve as host variables, 4.2.2.1

O

object cache, 17.3
OBJECT CREATE SQL statement, 17.5.3, F.59
OBJECT DELETE SQL statement, 17.5.6, F.60
OBJECT DEREF SQL statement, 17.5.4, F.61
OBJECT FLUSH SQL statement, F.62
OBJECT FLUSH SQL statements, 17.5.8
OBJECT GET SQL statement, 17.6.2, F.63
OBJECT RELEASE SQL statement, F.64
OBJECT SET SQL statement, 17.6.1, F.65
Object Type Translator (OTT), A.2.10
command line, 19.2.3
command line syntax, 19.5.1
creating types in the database, 19.2.1
default name mapping, 19.5.7
outtype file, 19.2.8
parameters, 19.5.2
providing an intype file, 19.2.4
reference, 19.5
restriction, 19.5.8
using, 19, 19.2
using with Pro*C/C++, 19.4
Object Types, A.2.9
OBJECT UPDATE SQL statement, 17.5.7, F.66
objects
accessing with OCI, 19.3.1
introduction to, 17.1
manipulating with OCI, 19.3.1
persistent, 17.3.1
persistent versus transient copies of, 17.3.1
references to, 17.1.2
support, 17
transient, 17.3.1
types, 17.1.1
using object types in Pro*C/C++, 17.2
OBJECTS precompiler option, 10.5.21, 10.5.37, 17.8.3
OCI applications
using the OTT with, 19.3
OCI calls, 1.6.3
embedding, 5.10
in an X/A environment, 5.12.1.3
OCI onblon() call
not used to connect, 5.10
OCI orlon() call
not used to connect, 5.10
OCI Release 8, 5.8
accessing and manipulating objects, 19.3.1
embedding in Pro*C/C++, 5.9.3
interfacing to, 5.9
parameters in the environment handle, 5.8.2
SQLLIB extensions, 5.8
OCI types
declaring, 17.14.1
manipulating, 17.14.3
OCIDate, 17.14
OCINumber, 17.14
OCIRaw, 17.14
OCIString, 17.14
using in embedded SQL, 17.14.2
OCIDate, 17.14
declaring, 17.14.1
ocidfn.h, 5.10
OCINumber, 17.14
declaring, 17.14.1
OCIRaw, 17.14
declaring, 17.14.1
OCIString, 17.14
declaring, 17.14.1
ONAME precompiler option, 10.5.38
OPEN CURSOR statement, 14.5.11
OPEN DESCRIPTOR SQL statement, F.68
OPEN SQL statement, F.67
OPEN statement, 6.5.2
dependence on precompiler options, 6.5.2
effect of, 6.5.2
example of, 6.5.2
examples, F.67
purpose of, 6.5, 6.5.2
use in dynamic SQL method 3, 13.9.3
use in dynamic SQL method 4, 15.6.11
opening
a cursor variable, 4.5.3
cursors, F.67, F.68
operators
C versus SQL, 2.3.12
restrictions on, 2.3.12
optimization approach, C.5.1
optimizer hints, C.5.1
in C, 6.7
in C++, 6.7.1, 12.2.1
ORACA, 9.2.2
example of using, 9.10.6
using to gather cursor cache statistics, 9.10.5.11
ORACA precompiler option, 10.5.39
ORACAID component, 9.10.5.1
Oracle
datatypes, 2.1.6
Forms Version 4, 20.5
Open Gateway
using the ROWID datatype with, 4.1.2.9
Toolset, 20.5
Oracle Call Interface version 7, 5.10
Oracle Communications Area, 9.10
Oracle names
how to form, F.3.5
Oracle Net
connecting to Oracle through, 3.2.2
connection syntax, 3.2.1
for concurrent connections, 3.2.2
function of, 3.2.1
OTT parameter TRANSITIVE, 19.5.2.12
OTT parameters
CASE, 19.5.2.10
CODE, 19.5.2.4
CONFIG, 19.5.2.8
ERRTYPE, 19.5.2.9
HFILE, 19.5.2.7
INITFILE, 19.5.2.5
INITFUNC, 19.5.2.6
INTYPE, 19.5.2.2
OUTTYPE, 19.5.2.3
SCHEMA_NAMES, 19.5.2.11
USERID, 19.5.2.1
where they appear, 19.5.3
OUT parameter mode, 7.1.4
output host variables
assigning values to, 6.1.1
definition of, 6.1.1
outtype file, 19.5.4
when running OTT, 19.2.8
OUTTYPE OTT parameter, 19.5.2.3
overhead
reducing, C.2

P

PAGELEN
precompiler option, 10.5.40
parameter modes, 7.1.4
PARSE
precompiler option, 10.5.41
parse error offset
how to interpret, 9.5.4
use in error reporting, 9.5.4
parsing dynamic statements
PREPARE statement, F.69
password
defining, 3.1
passwords
changing at runtime, A.2.4
performance
eliminating extra parsing to improve, C.8
optimizing SQL statements to improve, C.5
reasons for poor, C.1
using embedded PL/SQL to improve, C.4
using HOLD_CURSOR to improve, C.8.2.4
using host arrays to improve, C.3
using indexes to improve, C.6
using RELEASE_CURSOR to improve, C.8.2.4
using row-level locking to improve, C.7
persistent copies of objects, 17.3.1
persistent objects, 17.3.1
placeholders
duplicate, 13.8.1, 13.12.2
naming, 13.8.1
proper order of, 13.8.1
use in dynamic SQL statements, 13.4
PL/SQL, 1.4
anonymous block
used to open a cursor variable, 4.5.3
cursor FOR loop, 7.1.3
description of, 1.4
difference from SQL, 1.4
executing a block using the AT clause, 3.2.4.1.2
integration with database server, 7.1.2
main advantage of, 1.4
packages, 7.1.5
PL/SQL tables, 7.1.6
procedures and functions, 7.1.4
RECORD type
cannot be bound to a C struct, 4.8.2
relationship with SQL, 1.4
setting SQLCA, 9.6.4
user-defined records, 7.1.7
PL/SQL blocks
embedded in precompiler programs, F.32
pointer
definition of, 4.9
to cursor variables
restrictions on, 4.5.1
pointer variables
declaring, 4.9.1
determining size of referenced value, 4.9.2
referencing, 4.9.2
referencing struct members with, 4.9.2
precedence of precompiler options, 10.2.2, 10.2.2
precision
definition of, 15.4.2.1
using sqlprc() to extract, 15.4.2.1
when not specified, 15.4.2.1
precompilation
conditional, 2.4
separate, 2.5, 2.5
precompilation unit, 3.1, 10.3
precompiled header files, 5.5, A.2.2
C++ restrictions, 5.5.4.2
CODE option, 5.5.4.2, 5.5.4.2
PARSE option, 5.5.4.2
precompiler options
alphabetized list, 10.3, 10.5
AUTO_CONNECT, 10.5.1
case sensitivity, 10.1.1
CHAR_MAP, 5.1.1, 10.5.2, A.2.6
CLOSE_ON_COMMIT, 6.6.2, 10.5.4
CODE, 10.5.8, 10.5.8
COMP_CHARSET, 10.5.9, 10.5.9
CONFIG, 10.5.3, 10.5.5, 10.5.6, 10.5.7, 10.5.10, 10.5.11, 10.5.13
configuration files, 10.2.1
CPP_SUFFIX, 10.5.12, 10.5.12
DBMS, 10.5.14
DEF_SQLCODE, 10.5.15
DEFINE, 10.5.16
determining current value, 10.2.2
DURATION, 10.5.18
DYNAMIC, 14.4
entering, 10.4
entering on the command line, 10.4.1
ERRORS, 10.5.19
ERRTYPE, 10.5.20
FIPS, 10.5.22
HEADER, 10.5.23
HOLD_CURSOR, 10.5.23, 10.5.24
INAME, 10.5.25
INCLUDE, 10.5.26, 10.5.26
INTYPE, 10.5.27
LINES, 10.5.28
list of, 10.5
LNAME, 10.5.29
LTYPE, 10.5.30
MAXLITERAL, 2.3.11, 10.5.31
MAXOPENCURSORS, 10.5.32
micro and macro, 10.2.3
MODE, 10.5.33, 14.4
NLS_CHAR, 10.5.34, 10.5.35
NLS_LOCAL, 10.5.36
OBJECTS, 10.5.21, 10.5.37
ONAME, 10.5.38
ORACA, 10.5.39
PAGELEN, 10.5.40
PARSE, 10.5.41
precedence, 10.2.2
PREFETCH, 10.5.42
RELEASE_CURSOR, 10.5.43
scope, 10.2.5
scope of, 10.3
SELECT_ERROR, 10.5.44
specifying, 10.4.1
SQLCHECK, 10.5.45, 17.8.6
syntax for, 10.4.1
SYS_INCLUDE, 10.5.46
THREADS, 10.5.47, 11.4.1
TYPE_CODE, 10.5.48, 14.4
UNSAFE_NULL, 10.5.49
USERID, 10.5.50
using, 10.5
VARCHAR, 10.5.52
VERSION, 10.5.53
predefined symbols, 2.4.1
PREFETCH precompiler option, 6.6.3, 10.5.42, A.3.3
PREPARE SQL statement, F.69
PREPARE statement, 14.5.5
effect on data definition statements, 13.6.2
examples, F.69
use in dynamic SQL, 13.8, 13.9.1
use in dynamic SQL method 4, 15.6.6
preprocessor
example, 5.6.2
EXEC ORACLE directives, 5.6
preprocessor directives
directives not supported by Pro*C, 5.4.2.1
preprocessor, support of, 4.1
private SQL area
association with cursors, 2.1.9
definition of, 2.1.9
opening of, 2.1.9
purpose of, C.8.2.1
Pro*C/C++ Precompiler
common uses for, 1.2
Globalization Support, 4.10
new database types, 17.15
new features, A
object support in, 17
runtime context, 5.8.1
use of PL/SQL with, 7.2
using OTT with, 19.4
procedural database extension, 7.1.5
program termination
normal versus abnormal, 3.9
programming guidelines, 2.3

Q

queries
association with cursors, 6.5
forwarding, 3.2.5.1
incorrectly coded, 6.3.1
kinds of, 6.3
requirements for, 6.3
returning more than one row, 6.3
single-row versus multirow, 6.3.1

R

RAW datatype, 4.1.2.11
READ ONLY parameter
in SET TRANSACTION statement, 3.10
read-only transactions
description of, 3.10
example of, 3.10
how ended, 3.10
record, 7.1.7
REF
structure for, 17.13.1
REF (reference to object), 17.1.2
REFERENCE clause
in TYPE statement, 5.3.2.1
reference semantics (ANSI dynamic SQL), 14.3.1
references to objects (REFs)
declaring, 17.13.2
using, 17.13
using in embedded SQL, 17.13.3
referencing
of host arrays, 8.2.1, 8.3.1
REFs
declaring, 17.13.2, 17.13.2
using, 17.13, 17.13
using in embedded SQL, 17.13.3
REGISTER CONNECT SQL statement, F.70
RELEASE option, 3.9
if omitted, 3.9
in COMMIT statement, 3.6
in ROLLBACK statement, 3.8
purpose of, 3.6
restriction on, 3.8
RELEASE_CURSOR
precompiler option
what it affects, C.8
RELEASE_CURSOR option
of ORACLE Precompilers, F.8
using to improve performance, C.8.2.4
RELEASE_CURSOR precompiler option, 10.5.43
remote database
declaration of, F.24
reserved namespaces, B.2
reserved words and keywords, B.1
resource manager, 5.12
restrictions
on AT clause, 3.2.4.1.3
on Comments, 13.12.4
on CURRENT OF clause, 6.8.1
on declaring cursors, 6.5.1
on FOR clause, 8.8.1
on host arrays, 8.3.3, 8.4.7, 8.5.1, 8.6.1, 8.7.1
on input host variables, 6.1.1
on NULLs, 6.2.4
on separate precompilation, 2.5.1.1
on SET TRANSACTION statement, 3.10
use of CURRENT OF clause, 8.3.3
retrieving rows from a table
embedded SQL, F.73
return codes
user exits, 20.8
returning clause
DELETE, 6.3.4
in INSERT, 6.4
in UPDATE, 6.3.3
returning clauses, 6.4
roll back
to a savepoint, F.72
to the same savepoint multiple times, F.71
ROLLBACK SQL statement, F.71
ROLLBACK statement, 3.8
effect of, 3.8
ending a transaction, F.71
example of, 3.8
examples, F.71
in error handling routines, 3.8
purpose of, 3.8
RELEASE option in, 3.8
TO SAVEPOINT clause in, 3.8
using in a PL/SQL block, 3.14.3
where to place, 3.8
rollbacks
automatic, 3.8
function of, 3.4
statement-level, 3.8.1
row locks
acquiring with FOR UPDATE OF, 3.11.1
advantage of, C.7
using to improve performance, C.7
when acquired, 3.11.1.1
when released, 3.11.1.1
ROWID
logical, 4.1.2.9, 4.7
pseudocolumn, 3.12
using to mimic CURRENT OF, 3.12, 8.11
pseudocolumns, 4.7, 4.7
universal, 4.1.2.9, 4.1.2.9, 4.7, A.3.7
ROWID datatype, 4.1.2.9
rows
fetching from cursors, F.36, F.37
inserting into tables and views, F.40
updating, F.76
rows-processed count
use in error reporting, 9.5.3
runtime context
establishing, 5.8.1
terminating, 5.8.1
runtime type checking, 17.8.7

S

S variable in SQLDA
how value is set, 15.3.7
purpose of, 15.3.7
sample database tables
DEPT table, 2.7
EMP table, 2.7
sample object type code, 17.11
sample programs
ansidyn1.pc, 14.6.1
ansidyn2.pc, 14.6.2
calldemo.sql, with sample9.pc, 7.7.2.1
coldemo1.pc, 18.5.5
cppdemo1.pc, 12.3.1
cppdemo2.pc, 12.3.2
cppdemo3.pc, 12.3.3
cursor variable demos, 4.5.7
cv_demo.pc, 4.5.7.2
cv_demo.sql, 4.5.7.1
extp1.pc, 7.8.2
how to precompile, 2.8
lobdemo1.pc, 16.6.3
navdemo1.pc, 17.11
oraca.pc, 9.10.6, 9.10.6
sample10.pc, 15.7
sample11.pc, 4.5.7.2
sample12.pc, 15.6.20
sample1.pc, 2.8
sample2.pc, 4.8.5
sample3.pc, 8.4.5
sample4.pc, 5.3.5
sample5.pc, 20.11
sample6.pc, 13.7.1
sample7.pc, 13.8.2
sample8.pc, 13.9.6
sample9.pc, 7.7.2.1
sqlvcp.pc, 4.4.7
SAVEPOINT SQL statement, F.72
SAVEPOINT statement, F.72
example of, 3.7
examples, F.72
purpose of, 3.7
savepoints
creating, F.72
definition of, 3.7
uses for, 3.7
when erased, 3.7
Scale
using SQLPRC to extract, F.77
scale
definition of, 15.4.2.1, F.77
using sqlprc() to extract, 15.4.2.1
when negative, 15.4.2.1, F.77
SCHEMA_NAMES OTT parameter, 19.5.2.11
usage, 19.5.6
scope
of a cursor variable, 4.5.1
of DECLARE STATEMENT directive, F.25
of precompiler options, 10.3
of the EXEC ORACLE statement, 10.4.2.2
of WHENEVER statement, 9.8.5
search condition
definition of, 6.3.5
in the WHERE clause, 6.3.5
select descriptor, 15.2.1, 15.2.1
information in, 13.10.2
select list
definition of, 6.3.1
number of items in, 6.3.1
using the free() function for, 15.6.17
using the malloc() function for, 15.6.14
SELECT SQL statement, F.73
select SQLDA
purpose of, 15.1.3
SELECT statement, 6.3.1
clauses available for, 6.3.1.1
embedded SQL examples, F.73
example of, 6.3.1
INTO clause in, 6.3.1
purpose of, 6.3.1
testing, 6.3.1.1
using host arrays in, 8.4
WHERE clause in, 6.3.1
SELECT_ERROR
precompiler option, 6.3.1, 10.5.44
semantic checking
controlling with the SQLCHECK option, D.2
definition of, D.1
enabling, D.3.1
with the SQLCHECK option, D.1
separate precompilation
guidelines for, 2.5.1
referencing cursors for, 2.5.1.1
restrictions on, 2.5.1.1
specifying MAXOPENCURSORS for, 2.5.1.2
using a single SQLCA with, 2.5.1.3
server
integration with PL/SQL, 7.1.2
session
definition of, 3.3
sessions
beginning, F.16
SET clause
in UPDATE statements, 6.3.3
purpose of, 6.3.3
use of subqueries in, 6.3.3
SET DESCRIPTOR statement, 14.5.4, F.74
SET TRANSACTION statement
example of, 3.10
purpose of, 3.10
READ ONLY parameter in, 3.10
requirements for, 3.10
restrictions on, 3.10
Size of an Integer and ROWID, E.1.5
SQL
benefits of, 1.3
Embedded SQL, 1.3
nature of, 1.3
need for, 1.3
SQL Communications Area, 9.2.2
SQLCA, 9.6
SQL Descriptor Area
SQLDA, 13.10.1, 15.2.1
SQL directives
CONTEXT USE, 11.4.2.3, F.21
DECLARE DATABASE, F.24
DECLARE STATEMENT, F.25
DECLARE TABLE, F.26
DECLARE TYPE, F.27
TYPE, F.75
VAR, F.77
WHENEVER, F.78
SQL statements
ALLOCATE, F.4
ALLOCATE DESCRIPTOR TYPE, F.5
CACHE FREE ALL, F.6
CALL, 7.7.2.3, F.7
CLOSE, F.8
COMMIT, F.15
concerns when executing, 6.3
CONNECT, F.16
CONTEXT ALLOCATE, F.17, F.17
CONTEXT FREE, F.18, F.18
CONTEXT OBJECT OPTION GET, F.19
CONTEXT OBJECT OPTION SET, F.20
DEALLOCATE DESCRIPTOR, F.22
DELETE, F.28
DESCRIBE, F.29
DESCRIBE DESCRIPTOR, F.30
ENABLE THREADS, F.31
executable versus directive, 2.1.1.1
EXECUTE, F.33
EXECUTE ... END-EXEC, F.32
EXECUTE IMMEDIATE, F.35
FETCH, F.36
FETCH DESCRIPTOR, F.37
for defining and controlling transactions, 3.4
for manipulating a cursor, 6.3, 6.5
FREE, F.38
INSERT, F.40
LOB APPEND, F.41
LOB ASSIGN, F.42
LOB CLOSE, F.43
LOB COPY, F.44
LOB CREATE, F.45
LOB DESCRIBE, F.46
LOB DISABLE BUFFERING, F.47
LOB ENABLE BUFFERING, F.48
LOB ERASE, F.49
LOB FILE CLOSE, F.50
LOB FILE SET, F.51
LOB FLUSH BUFFER, F.52
LOB FREE TEMPORARY, F.53
LOB LOAD, F.54
LOB OPEN, F.55
LOB READ, F.56
LOB TRIM, F.57
LOB WRITE, F.58
OBJECT CREATE, F.59
OBJECT DELETE, F.60
OBJECT DEREF, F.61
OBJECT FLUSH, F.62
OBJECT GET, F.63
OBJECT RELEASE, F.64
OBJECT SET, F.65
OBJECT UPDATE, F.66
OPEN, F.67
OPEN DESCRIPTOR, F.68
optimizing to improve performance, C.5
PREPARE, F.69
REGISTER CONNECT, F.70
ROLLBACK, F.71
rules for executing, C.5
SAVEPOINT, F.72, F.72
SELECT, F.73
SET DESCRIPTOR, F.74
summary of, F.1
types of, 2.1.1.1
UPDATE, F.76
SQL*Forms
display error screen in, 20.8
IAP constants in, 20.8.1
returning values to, 20.8
reverse return code switch in, 20.8
SQL*Net
connecting using Version 2, 3.1.2
SQL*Plus, 1.3
using to test SELECT statements, 6.3.1.1
versus embedded SQL, 1.3
SQL, dynamic, 2.1.3
SQL_CURSOR, F.4
SQL_SINGLE_RCTX
defined constant, 5.11
definition of, 5.9
sqlald() function
example of using, 15.6.3
purpose of, 15.2.4
syntax for, 15.2.4
sqlaldt() function
see SQLSQLDAAlloc, 5.11
SQLCA, 9.2.2, 9.5
components in, 9.6.3
components set for a PL/SQL block, 9.6.4
declaring, 9.6.1
description of, 9.6
explicit versus implicit checking of, 9.2.2
including multiple times, 5.4.7
overview of, 2.1.11
SQLCABC component in, 9.6.3.2
SQLCAID component in, 9.6.3.1
sqlerrd, 9.6.3.6
sqlerrd[2] component in, 9.6.3.6
sqlerrmc component in, 9.6.3.4
sqlerrml component in, 9.6.3.4
sqlwarn, 9.6.3.7
use in separate precompilations, 2.5.1.3
using more than one, 9.6
using with SQL*Net, 9.6
sqlca.h
listing of, 9.6.2
use of SQLCA_STORAGE_CLASS with, 2.5.1.3
SQLCAID component, 9.6.3.1
SQLCDAFromResultSetCursor(), 5.11
SQLCDAGetCurrent, 5.11
sqlcdat()
see SQLCDAFromResultSetCursor(), 5.11
SQLCHECK option
restrictions on, D.2
usage notes for, 10.5.45
what it affects, D.2
SQLCHECK precompiler option, 10.5.45, 17.8.6, D.3.1.1, D.3.1.2
SQLCHECK support for objects, 17.8.6
sqlclu() function
example of using, 15.6.17
purpose of, 15.6.17
syntax for, 15.6.17
sqlclut() function
see SQLSQLDAFree(), 5.11
SQLCODE
with MODE=ANSI, 10.5.33
sqlcode
component in SQLCA, 9.2.2, 9.5.1
SQLCODE status variable
declaring, 9.4
when declared with the SQLCA, 9.4
when used, 9.4
sqlcpr.h, 9.7
sqlcurt() function
see SQLDAToResultSetCursor(), 5.11
SQLDA
bind versus select, 13.10.3
C variable in, 15.3.9
definition of, 13.10.3
F variable in, 15.3.6
I variable in, 15.3.5
information stored in, 13.10.3
L variable in, 15.3.3
M variable in, 15.3.8
N variable in, 15.3.1
purpose of, 13.10.1
S variable in, 15.3.7
struct, contents of, 15.2.3
structure of, 15.3
T variable in, 15.3.4
use in dynamic SQL method 4, 15.2.1
V variable in, 15.3.2
X variable in, 15.3.10
Y variable in, 15.3.11
Z variable in, 15.3.12
sqlda.h, 15.1.3
SQLDAToResultSetCursor(), 5.11
SQLEnvGet function in SQLLIB, 5.9.1
SQLEnvGet(), 5.11
sqlerrd
component, 9.5.4, 9.6.3.6
sqlerrd[2] component, 9.5.3, 9.6.3.6
returns N or rows fetched, 8.4.3
use with data manipulation statements, 8.4.2
sqlerrm
component in the SQLCA, 9.2.2
sqlerrmc component, 9.6.3.4
sqlerrml component, 9.6.3.4
SQLERROR
WHENEVER directive condition, F.78
SQLERROR condition
in the WHENEVER statement, 9.8.1.2
meaning of, 9.8.1.2
SQLErrorGetText(), 5.11
SQLExtProcError(), 5.11, 7.8.3
sqlglm(), 9.7
sqlglm() function, 9.7, 9.7
example of using, 9.7
parameters of, 9.7
sqlglmt()
see SQLErrorGetText, 5.11
sqlgls() function, 9.9
example of use, 4.4.7
sample program for, 9.9.2
see SQLLIB
function SQLStmGetText, 4.4.7
sqlglst() function
see SQLStmtGetText, 5.11
SQLIEM function
in user exits, 20.8.2
purpose of, 20.8.2
syntax for, 20.8.2
sqlld2() function, 5.12.1.3
sqlld2t() function
see SQLLDAGetName, 5.11
SQLLDAGetName, 5.11
sqlldat() function
see SQLCDAGetCurrent, 5.11
SQLLIB
and embedded SQL, 2.1.2
extensions for OCI interoperability, 5.8
function
SQLCDAFromResultSetCursor, 5.11
function SQLCDAGetCurrent, 5.11
function SQLColumnNullCheck, 5.11
function SQLDAFree, 5.11
function SQLDAToResultSetCursor, 5.11
function SQLEnvGet, 5.9.1, 5.11
function SQLErrorGetText, 5.11
function SQLExtProcError, 5.11, 7.8.3
function SQLLDAGetName, 5.11
function SQLNumberPrecV6, 5.11
function SQLNumberPrecV7, 5.11
function SQLRowidGet, 5.11
function SQLStmtGetText(), 5.11
function SQLSvcCtxGet, 5.9.2, 5.11
function SQLVarcharGetLength, 4.4.6
new names for functions, A.2.7
new names for public functions, 5.11
SQLLIB function
SQLSQLDAAlloc, 5.11
SQLVarcharGetLength, 5.11
sqlnul() function
example of using, 15.4.3
purpose of, 15.4.3
syntax for, 15.4.3
use of with T variable, 15.3.4
sqlnult() function
see SQLColumnNullCheck(), 5.11
SQLNumberPrecV6, 5.11
SQLNumberPrecV7, 5.11
sqlpr2() function, 15.4.2.1
sqlpr2t() function
see SQLNumberPrecV7, 5.11
sqlprc() function, 15.4.2.1, 15.4.2.1
sqlprct() function
see SQLNumberPrecV6, 5.11
SQLRowidGet(), 5.11
SQLSQLDAAlloc, 5.11
SQLSQLDAFree(), 5.11
SQLSTATE
class codes, 9.3.2
declaring, 9.3.1
mapping to Oracle errors, 9.3.2
status codes, 9.3.2
status variable, 9.2.1, 9.3
using, 9.3.3
values, 9.3.2
with MODE=ANSI, 10.5.33
SQLStmtGetText, 5.11
SQLSvcCtxGet function in SQLLIB, 5.9.2
SQLSvcCtxGet(), 5.11
SQLVarcharGetLength, 5.11
sqlvcp() function, see SQLLIB
function SQLVarcharGetLength, 4.4.6
sqlvcpt() function
see SQLVarcharGetLength, 5.11
sqlwarn
flag, 9.6.3.7
SQLWARNING
WHENEVER directive condition, F.78
SQLWARNING condition
in the WHENEVER statement, 9.8.1.1
meaning of, 9.8.1.1
Standard Header Files, E.1.1
statement-level rollback
description of, 3.8.1
to break deadlocks, 3.8.1
status codes
meaning of, 9.5.1
status variables, 9.2.1
STOP action
in the WHENEVER statement, 9.8.2.6
of WHENEVER directive, F.78
result of, 9.8.2.6
stored procedures
program example, 7.7.2.1
stored subprograms
calling, 7.7.2.1
creating, 7.7.1
packaged versus standalone, 7.7
stored versus inline, 7.7
STRING datatype, 4.1.2.5
string host variables
declaring, 5.1.4
Struct Component Alignment, E.1.4
structs
array of, 8.10, A.2.1
as host variables, 4.8
C, using, 17.12
for collection object types, 18.2
generating C structs for a REF, 17.13.1
pointers as host variables, 4.9.3
structs (structures)
cannot be nested, 4.8.3
structures (structs)
nesting not permitted for host, 4.8.3
subqueries
definition of, 6.3.2.1
example of, 6.3.2.1, 6.3.3
uses for, 6.3.2.1
using in the SET clause, 6.3.3
using in the VALUES clause, 6.3.2.1
symbols
defining, 2.4.1
syntax checking
controlling with the SQLCHECK option, D.2
definition of, D.1
syntax diagram
description of, F.3
how to read, F.3
how to use, F.3
symbols used in, F.3
syntax, embedded SQL, 2.1.2
SYS_INCLUDE
system header files in C++, 12.2.4
SYS_INCLUDE precompiler option, 10.5.46
SYSDBA/SYSOPER Privileges, A.3.8
System Configuration File, E.1.10
system configuration file, 10.2.2
system failure
effect on transactions, 3.5
System Global Area (SGA), 7.7
system header files
specifying the location of, 12.2.4
system-specific Oracle documentation, 1.6.11, 2.6, 3.2.2, 5.4.4, 5.12.1.4, 20
system-specific reference, 4.1.2.3, 10.1.1, 10.2.1, 10.5.26, 10.5.46

T

T variable in SQLDA
how value is set, 15.3.4
purpose of, 15.3.4
table locks
acquiring with LOCK TABLE, 3.11.2
effect of, 3.11.2
row share, 3.11.2
when released, 3.11.2
tables
inserting rows into, F.40
nested, 18.1.1
updating rows in, F.76
terminal
encoding scheme, 4.10
termination, program
normal versus abnormal, 3.9
THREADS
precompiler option, 10.5.47, 11.4.1
threads, F.17
allocating context, 11.4.2.2, F.17
enabling, 11.4.2.1, F.31
freeing context, 11.4.2.4, F.18
use context, 11.4.2.3
TIMESTAMP datatype, 4.1.3.3
TIMESTAMP WITH LOCAL TIME ZONE datatype, 4.1.3.5
TIMESTAMP WITH TIME ZONE datatype, 4.1.3.4
TO clause
of ROLLBACK statement, F.71
TO SAVEPOINT clause
in ROLLBACK statement, 3.8
purpose of, 3.8
restriction on, 3.8
Toolset
Oracle, 20.5
trace facility
function of, C.5.2
using to improve performance, C.5.2
transaction processing
overview of, 2.1.10
statements used for, 2.1.10
transaction processing monitor, 5.12
transactions
committing, F.15
contents of, 2.1.10, 3.5
definition of, 2.1.10
description of, 3.4
distributed, F.71
failure during, 3.5
guarding databases with, 3.4
guidelines for, 3.14.1
how to begin, 3.5
how to end, 3.5
making permanent, 3.6
read-only, 3.10
rolling back, F.71
subdividing with savepoints, 3.7
terminating, 3.6
undoing, 3.8
undoing parts of, 3.7
when rolled back automatically, 3.5, 3.8
transient copies of objects, 17.3.1
transient objects, 17.3.1
TRANSITIVE OTT parameter, 19.5.2.12
truncated values
detecting, 6.2, 7.4.2
truncation error
when generated, 6.2.5
tuning, performance, C.1
two-task
linking, 2.6
type checking at runtime, 17.8.7
TYPE directive
examples, F.75
type inheritance, 17.1.3
example, 17.10
IS OF type operator, 17.1.3
example, 17.1.3, 17.1.3
TREAT operator, 17.1.3
example, 17.1.3, 17.1.3
TYPE SQL directive, F.75
TYPE_CODE
precompiler option, 10.5.48

U

undo a transaction, F.71
Unicode character set, 5.1.5
Unicode variables, A.3.1
unions
cannot be nested in host structures, 4.8.3
not permitted as host structures, 4.8.3
universal ROWID, 4.1.2.9, 4.7, A.3.7
UNIX
linking a Pro*C application under, 1.6.11
UNSAFE_NULL precompiler option, 10.5.49
UNSIGNED datatype, 4.1.2.14
UPDATE SQL statement, F.76
UPDATE statement
embedded SQL examples, F.76
example of, 6.3.2.1
purpose of, 6.3.2.1
SET clause in, 6.3.3
using host arrays in, 8.6
WHERE clause in, 6.3.3
updating
rows in tables and views, F.76
use
thread context, 11.4.2.3, F.21
user configuration file
to set precompiler options, 10.2.2
User Exits, E.1.13
user exits
calling from a SQL*Forms trigger, 20.6
common uses for, 20.2
example of, 20.9
kinds of statements allowed in, 20.4
linking into IAP, 20.13
meaning of codes returned by, 20.8
naming, 20.14.1
passing parameters to, 20.7
requirements for variables in, 20.4.1
running the GENXTB form, 20.12
running the GENXTB utility for, 20.12
use of WHENEVER statement in, 20.8.3
user session
definition of, 3.3
user-defined record, 7.1.7
user-defined stored function
used in WHERE clause, 6.3.5
user-defined type equivalencing, F.75
USERID option
when required, 10.5.50
USERID OTT parameter, 19.5.2.1
USERID precompiler option, 10.5.50
using with the SQLCHECK option, D.3.1.1
usernames
defining, 3.1
using C structures, 17.12
USING clause
in CONNECT statement, 3.2.4.1
in the EXECUTE statement, 13.8.1
of FETCH statement, F.36
of OPEN statement, F.67
purpose of, 13.8.1
using indicator variables in, 13.8.1
using collection types, 17.13
using dbstring
Oracle Net database specification string, F.16
Using REFs in Embedded SQL, 17.13.3

V

V variable in SQLDA
how value is set, 15.3.2
purpose of, 15.3.2
V7
value of DBMS option, 10.5.14
VALUES clause
in INS, 6.3.2
of embedded SQL INSERT statement, F.40
of INSERT statement, F.40
use of subqueries in, 6.3.2.1
VAR directive
examples, F.77
VAR SQL directive, F.77
VAR statement
syntax for, 5.3.1, 5.3.2
VARCHAR
arrays of, 8.2
VARCHAR datatype, 4.1.2.8
VARCHAR precompiler option, 10.5.52
VARCHAR pseudotype
requirements for using with PL/SQL, 7.3.3
VARCHAR variables
advantages of, 4.4.1
declaring, 4.4.1
length member in, 4.4.1
must be passed to a function by reference, 4.4.5
specifying the length of, 4.4.1
structure of, 4.4.1
using macros to define length of, 5.4.1
versus character arrays, 5.1.4.2
VARCHAR2 datatype, 4.1.2.1, 5.3.3
variables, 2.1.5
cursor, 4.5
host, 18.2.1
indicator, 18.2.1
VARNUM datatype, 4.1.2.6
VARRAW datatype, 4.1.2.12
varrays
creation, 18.1.2
varying length arrays, 18.1.2
VERSION precompiler option, 10.5.53, 17.8.1
views
inserting rows into, F.40
updating rows in, F.76
VMS
linking a precompiler application, 1.6.11

W

warning flags
use in error reporting, 9.5.2
WHENEVER directive
examples, F.78
WHENEVER SQL directive, F.78
WHENEVER statement
automatic checking of SQLCA with, 9.8.1
CONTINUE action in, 9.8.2.1
DO action in, 9.8.2.2
DO BREAK action in, 9.8.2.3
DO CONTINUE action in, 9.8.2.4
examples of, 9.8.3
GOTO action in, 9.8.2.5
guidelines for, 9.8.6
maintaining addressability for, 9.8.6.4
new actions, A.2.8
NOT FOUND condition in, 9.8.1.3
overview of, 2.1.11
scope of, 9.8.5
SQLERROR condition in, 9.8.1.2
SQLWARNING condition in, 9.8.1.1
STOP action in, 9.8.2.6
use in user exits, 20.8.3
using to avoid infinite loops, 9.8.6.3
using to handle end-of-data conditions, 9.8.6.2
where to place, 9.8.6.1
WHERE clause
host arrays in, 8.9
if omitted, 6.3.5
in DELETE statements, 6.3.4
in SELECT statements, 6.3.1
in UPDATE statements, 6.3.3
purpose of, 6.3.5
search condition in, 6.3.5
WHERE CURRENT OF clause
CURRENT OF clause, 6.8
WORK option
of COMMIT statement, F.15
of ROLLBACK statement, F.71

X

X variable in SQLDA
how value is set, 15.3.10
purpose of, 15.3.10
XA interface, 5.12
X/Open, 5.12
application development, 5.12

Y

Y variable in SQLDA
how value is set, 15.3.11
purpose of, 15.3.11

Z

Z variable in SQLDA
how value is set, 15.3.12
purpose of, 15.3.12