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
Contact Us

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,