Skip Headers

Pro*C/C++ Precompiler Programmer's Guide
Release 9.2

Part Number A97269-01
Go To Documentation Library
Home
Go To Product List
Book List
Go To Table Of Contents
Contents

Master Index

Feedback

Go to previous page

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-29

A

abnormal termination
automatic rollback, F-26
active set
changing, 6-14, 6-15
cursor movement through, 6-15
definition of, 2-7
how identified, 6-12
if empty, 6-16
when fetched from, 6-15
when no longer defined, 6-13
ALLOCATE
allocating a cursor variable, 4-30
ALLOCATE DESCRIPTOR statement, 14-13, F-14
ALLOCATE SQL statement, 17-6
ALLOCATE SQL statements, F-12
allocating
cursor variables, 4-30
cursors, F-12
thread context, 11-8, F-28
ANSI C Support, E-2
ANSI dynamic SQL, A-4
reference semantics, 14-8
See also dynamic SQL (ANSI), 14-1
application development process, 2-8
array of structs, 8-21, A-2
ARRAYLEN statement, 7-17
arrays
batch fetch, 8-5
bulk operations (ANSI dynamic SQL), 14-9
chapter discusses how to use, 8-1
definition of, 4-44
host arrays, 2-7
operations, 2-7
varying length, 18-3
associative interface, 17-5
when to use, 17-6
AT clause
in CONNECT statement, 3-9
in DECLARE CURSOR statement, 3-10
in DECLARE STATEMENT statement, 3-12
in EXECUTE IMMEDIATE statement, 3-11
of COMMIT statement, F-25, F-36
of EXECUTE IMMEDIATE statement, F-58
of EXECUTE statement, F-53
of INSERT statement, F-70
of SAVEPOINT statement, F-104
of SELECT statement, F-107
of SROLLBACK statement, F-101
of UPDATE statement, F-115
restriction on, 3-11
use of, 3-10
attributes of a collection
descriptions, 18-15
AUTO_CONNECT, 10-11
precompiler option, 3-5
AUTO_CONNECT precompiler option, 10-11
automatic connections, 3-4, 3-8
Avoiding, 4-14

B

batch fetch
advantage of, 8-5
example of, 8-5
number of rows returned by, 8-7
BFILES, 16-2
security, 16-2
bind descriptor, 13-25, 15-5
definition of, 13-25
information in, 13-26
bind SQLDA
purpose of, 15-3
bind variables
input host variables, 13-25
binding
definition of, 13-4
BREAK action
of WHENEVER, F-122
Byte Ordering, E-2

C

C preprocessor
directives supported by Pro*C, 5-29
how used in Pro*C, 5-29
C structs
generating for a REF, 17-45
using, 17-44
C types of collection attributes, 18-15
C variable in SQLDA
how value is set, 15-11
purpose of, 15-11
C++, 1-9
C++ applications, 12-1
cache, 17-5
CACHE FREE ALL SQL statement, 17-7
CACHE FREE ALL statement, F-15
CALL SQL statement, F-16
CALL statement, 7-28, A-2
example, 7-28
Calling Java from PL/SQL, A-5
CASE OTT parameter, 19-33
case sensitivity
in precompiler options, 10-3
CHAR datatype, 4-11
CHAR_MAP precompiler option, 5-2, 10-12, A-3
character data, 5-2
character strings
multibyte, 4-56
CHARF datatype, 4-11, 5-15
CHARZ datatype, 4-11
CLOSE CURSOR statement, 14-29
CLOSE SQL statements, F-18
CLOSE statement
dependence on precompiler options, 6-16
example, 6-16, F-19
purpose of, 6-13, 6-16
use in dynamic SQL method 4, 15-37
CLOSE_ON_COMMIT
precompiler option, 10-13, A-6
closing
cursors, F-18
CODE
precompiler option, 12-4
CODE OTT parameter, 19-31
code page, 4-53
CODE precompiler option, 10-14
coding conventions, 2-9
COLLECT GET statement
example, 18-19
COLLECTION APPEND, F-19
COLLECTION APPEND statement, 18-12
SQL statements
COLLECTION APPEND, F-19
COLLECTION DESCRIBE
example, 18-21
COLLECTION DESCRIBE statement, 18-14
SQL statements
COLLECTION DESCRIBE, F-20
COLLECTION GET statement, 18-8
SQL statements
COLLECTION GET, F-22
collection object types
handling, 18-4
COLLECTION RESET statement, 18-12
example, 18-22
SQL statements
COLLECTION RESET, F-22
COLLECTION SET statement, 18-10
example, 18-19
SQL statements
COLLECTION SET, F-23
COLLECTION TRIM statement, 18-13
SQL statements
COLLECTION TRIM, F-24
collection types
structs for, 18-4
collections, A-4
and C, 18-3
autonomous access, 18-5
descriptors, 18-4
element access, 18-5
manipulating, 18-4
nested tables, 18-2
OBJECT GET statement, 18-6
OBJECT SET statement, 18-6
VARRAYs, 18-3
column list
in INSERT statements, 6-10
when permissible to omit, 6-10
COMMENT clause
of COMMIT statement, F-25
Comments
restrictions in PL/SQL block, 13-31
comments
ANSI, 2-10
which allowed, 2-10
commit
automatic, 3-17
explicit versus implicit, 3-17
function of, 3-16
COMMIT SQL statement, F-24
COMMIT statement, 3-18
effect of, 3-18
ending a transaction, F-101
example of, 3-18
examples, F-26
purpose of, 3-18
RELEASE option in, 3-18
using in a PL/SQL block, 3-28
where to place, 3-18
committing
transactions, F-24
communicating over a network, 3-6
COMP_CHARSET precompiler option, 10-15
compiling, 2-17
specifying include file locations, 5-35
concurrency
definition of, 3-16
concurrent connections, 3-7
conditional precompilation, 2-15
defining symbols, 5-44
example, 2-16, 5-44
CONFIG OTT parameter, 19-32
CONFIG precompiler option, 10-15
configuration files, 10-3
and the Object Type Translator, 19-5
location, 10-4
system, 10-4
user, 10-4
CONNECT statement, F-26
AT clause in, 3-9
connecting to Oracle with, 3-2
examples, F-28
requirements for, 3-2
USING clause in, 3-9
using to enable a semantic check, D-4
connecting to Oracle, 3-2
automatic connections, 3-4
concurrently, 3-7
example of, 3-2
using Oracle Net, 3-7
connection pooling, 11-19
demo program1, 11-25
demo program2, 11-32
example, 11-34
using, 11-22
connections
concurrent, 3-12
default versus nondefault, 3-8
Explicit connections, 3-8
implicit, 3-14
naming of, 3-8
const
declaring constants, 5-46
CONTEXT ALLOCATE SQL statement, F-28
CONTEXT ALLOCATE statement, 11-8
context block
definition of, 20-4
CONTEXT FREE statement, 11-10, F-29
CONTEXT OBJECT OPTION GET SQL statement, 17-20
CONTEXT OBJECT OPTION SET SQL statement, 17-19
CONTEXT USE directive, 11-8
CONTEXT USE SQL directive, F-33
CONTEXT USE SQL statement, 11-8
CONTINUE action
in the WHENEVER statement, 9-26
of WHENEVER directive, F-121, F-122
result of, 9-26
CONVBUFSZ clause, 4-55
CPP_SUFFIX
precompiler option, 12-5
CPP_SUFFIX precompiler option, 10-16
CPP_SUFFIX precompiler options, 10-16
CREATE PROCEDURE statement
embedded, 7-21
creating
savepoints, F-103
creating temporary LOB, 16-15
CURRENT OF clause, 8-4
example of, 6-21
mimicking with ROWID, 3-26, 8-31
purpose of, 6-21
restrictions on, 6-22
current row
definition of, 2-7
using FETCH to retrieve, 6-13
cursor cache
definition of, 9-39
purpose of, C-9
cursor control statements
example of typical sequence, 6-22
cursor operations
overview of, 6-12
cursor variables, 4-29, F-12
allocating, 4-30
declaring, 4-29
restrictions on, 4-35
cursors, 2-16, 4-29
allocating, F-12
allocating a cursor variable, 4-30
analogy for, 2-7
association with queries, 6-12
closing, F-18
declaring, 6-13
definition of, 2-7
explicit versus implicit, 2-7
fetching rows from, F-59, F-62
for multirow queries, 6-12
how handling affects performance, C-7
movement through active set, 6-15
opening, F-92, F-94
purpose of, 6-12
reopening, 6-14, 6-16
restrictions on declaring, 6-13
rules for naming, 6-13
scope of, 6-14
scrollable cursors, 6-16
statements for manipulating, 6-12
types of, 2-7
using more than one, 6-14

D

data definition language
in transactions, 3-17
data integrity, 3-13
definition of, 3-16
data locks, 3-16
database link
creating synonym for, 3-14
defining, 3-14
example using, 3-14
using in INSERT statement, F-70
where stored, 3-14
database types
new, 17-47
databases
naming, 3-8
datatype equivalencing, 2-7
datatypes
ANSI DATE, 4-12
codes used in descriptors, 15-15
coercing NUMBER to VARCHAR2, 15-15
conversions, 5-12
dealing with ORACLE internal, 15-15
equivalencing, 5-12
equivalencing, purpose of, 2-7
internal, 4-2
internal versus external, 2-6
INTERVAL DAY TO SECOND, 4-14
INTERVAL YEAR TO MONTH, 4-13
list of internal, 15-13
need to coerce, 15-15
Oracle, 2-6
OTT mappings, 19-10
restrictions on using, 17-51
TIMESTAMP, 4-12
TIMESTAMP WITH LOCAL TIME ZONE, 4-13
TIMESTAMP WITH TIME ZONE, 4-13
user-defined type equivalencing, F-112
when to reset, 15-15
DATE datatype, 4-9
DATE, ANSI
datatype, 4-12
datetime
avoiding unexpected results, 4-14
DBMS interaction with MODE, 10-17
DBMS option, 5-15
DBMS precompiler option, 10-17
deadlock
definition of, 3-16
effect on transactions, 3-22
how broken, 3-22
DEALLOCATE DESCRIPTOR statement, 14-14, F-34
declaration
of cursors, 6-13
of host arrays, 8-2
of pointer variables, 4-50
of SQLCA, 9-17
declarative SQL statements
in transactions, 3-17
DECLARE CURSOR directives
examples, F-37
DECLARE CURSOR statement, 14-27
AT clause in, 3-10
use in dynamic SQL method 4, 15-25
DECLARE DATABASE SQL directives, F-38
Declare Section
allowable statements, 2-10
form, 2-10
purpose, 2-10
required when MODE=ANSI, 10-33
requirements, 2-10
rules for defining, 2-10
when MODE=ANSI, 5-15
when required, 2-10, 4-15
DECLARE statement, 6-14
example of, 6-13
purpose of, 6-12
required placement of, 6-13
scope of, F-40
use in dynamic SQL method 3, 13-19
DECLARE STATEMENT directive, F-39
DECLARE STATEMENT statement
AT clause in, 3-12
example of using, 13-28
using with dynamic SQL, 13-28
when required, 13-28
DECLARE statements
examples, F-40
DECLARE TABLE directive
examples, F-42
using with the SQLCHECK option, D-5
DECLARE TABLE SQL directive, F-41
DECLARE TABLE statement
need for with AT clause, 3-10
DECLARE TYPE directive, F-43
DEF_SQLCODE precompiler option, 10-18
default connections, 3-8
default database, 3-7
default file name extensions, 19-41
DEFINE precompiler option, 10-19
used in application migration, 5-36
defining symbols, 2-15
DELETE SQL statement, F-44
DELETE statement
embedded SQL examples, F-47
example of, 6-11
purpose of, 6-11
using host arrays in, 8-17
WHERE clause in, 6-11
delimiters
C versus SQL, 2-11
DEPT table, 2-17
DESCRIBE BIND VARIABLES statement
use in dynamic SQL method 4, 15-25
DESCRIBE command
use with PREPARE command, F-48
DESCRIBE DESCRIPTOR statement, F-50
DESCRIBE INPUT statement, 14-23
DESCRIBE OUTPUT statement, 14-24
DESCRIBE SELECT LIST statement
use in dynamic SQL method 4, 15-30
DESCRIBE SQL statement, F-48
DESCRIBE statement
examples, F-49
use in dynamic SQL Method 4, 13-25
descriptions of collection attributes, 18-15
descriptors, 15-4
bind descriptor, 13-25
definition of, 13-25
need for, 15-4
select descriptor, 13-25
using the sqlald() function to allocate, 15-5
using the sqlclu() function to deallocate, 15-37
determining current value of precompiler options, 10-5
distributed processing
support for, 3-7
using Oracle Net for, 3-7
distributed transactions, F-102
DML Returning Clause, A-5
DML returning clauses, 6-11
DO action
in the WHENEVER statement, 9-26
of WHENEVER directive, F-122
result of, 9-26
DTP model, 5-56
dummy host variables
placeholders, 13-3
DURATION precompiler option, 10-21, 17-21
dynamic PL/SQL
rules for, 13-29
versus dynamic SQL, 13-29
dynamic SQL
advantages and disadvantages of, 13-2
cannot use cursor variables with, 4-35
choosing the right method, 13-6
definition of, 2-5
guidelines for, 13-6
overview of, 13-2
restriction on, 6-22
restrictions on use of datatypes, 17-51
restrictions on using datatypes in, 17-51
use of PL/SQL with, 7-33
uses for, 13-2
using the AT clause in, 3-11
when to use, 13-2
dynamic SQL (ANSI)
basics, 14-2
bulk operations, 14-9
differences from Oracle dynamic, 14-30
Oracle extensions, 14-7
Overview, 14-3
Precompiler Options, 14-2
precompiler options, 14-12
reference semantics, 14-8
sample program, 14-39
sample programs, 14-31
dynamic SQL method 1
commands used with, 13-5
description of, 13-8
example of, 13-9
how to use, 13-8
requirements for, 13-5
use of EXECUTE IMMEDIATE with, 13-8
use of PL/SQL with, 13-30
dynamic SQL method 2
commands used with, 13-5
description of, 13-12
example of, 13-14
requirements for, 13-5
use of DECLARE STATEMENT with, 13-28
use of EXECUTE with, 13-12
use of PL/SQL with, 13-30
use of PREPARE with, 13-12
dynamic SQL method 3
commands used with, 13-5
compared to method 2, 13-18
example program, 13-21
requirements for, 13-5
sequence of statements used with, 13-18
use of DECLARE STATEMENT with, 13-28
use of DECLARE with, 13-19
use of FETCH with, 13-20
use of OPEN with, 13-20
use of PL/SQL with, 13-30
use of PREPARE with, 13-19
dynamic SQL method 4
need for descriptors with, 15-4
overview of, 13-25
prerequisites for using, 15-12
requirements for, 13-6
requirements of, 15-2
sample program, 15-40
sequence of statements used with, 13-27, 15-20
steps for, 15-19
use of CLOSE statement in, 15-37
use of DECLARE CURSOR statement in, 15-25
use of DECLARE STATEMENT with, 13-28
use of DESCRIBE in, 13-25
use of DESCRIBE statement in, 15-25, 15-30
use of descriptors with, 13-25
use of FETCH statement in, 15-35
use of OPEN statement in, 15-30
use of PL/SQL with, 13-30
use of PREPARE statement in, 15-25
use of the SQLDA in, 13-25, 15-4
using host arrays with, 15-37
using the FOR clause with, 13-29, 15-37
when needed, 13-25
dynamic SQL methods
overview of, 13-4
dynamic SQL statements
binding of host variables in, 13-4
definition of, 13-2
requirements for, 13-3
use of placeholders in, 13-3
using host arrays in, 13-29
versus static SQL statements, 13-2

E

embedded PL/SQL
advantages of, 7-2
cursor FOR loop, 7-3
example of, 7-7, 7-9
overview of, 2-5
packages, 7-4
PL/SQL tables, 7-5
procedures and functions, 7-3
requirements for, 7-6
SQLCHECK option, 7-7
support for SQL, 2-5
user-defined records, 7-5
using %TYPE, 7-2
using the VARCHAR pseudotype with, 7-11
using to improve performance, C-3
where allowed, 7-6
embedded SQL
ALLOCATE statement, F-12
CLOSE statement, F-18
CONTEXT ALLOCATE statement, 11-8, F-28
CONTEXT FREE statement, 11-10
definition of, 2-2
difference from interactive SQL, 2-4
ENABLE THREADS statement, 11-8
EXEC SQL CACHE FREE ALL, 17-7
EXECUTE statement, F-52
key concepts of, 2-2
mixing with host-language statements, 2-4
OPEN statement, F-92
overview of, 2-2
PREPARE statement, F-97
requirements for, 2-4
SAVEPOINT statement, F-103
SELECT statement, F-104
syntax for, 2-4
testing with SQL*Plus, 1-4
TYPE directive, F-112
UPDATE statement, F-113
using OCI types in, 17-47
using REFs in, 17-46
VAR directive, F-117
when to use, 1-4
WHENEVER directive, F-121
embedded SQL statements
labels for, 9-26
referencing host arrays in, 8-3
referencing host variables in, 4-18
suffixes and prefixes not allowed, 2-10
terminator for, 2-14
use of apostrophes in, 2-11
use of quotation marks in, 2-11
embedding
PL/SQL blocks in precompiler programs, F-52
EMP table, 2-17
ENABLE THREADS SQL statement, F-51
ENABLE THREADS statement, 11-8
enabling
threads, 11-8
encoding scheme (character set or code page), 4-53
enqueues
locking, 3-16
entering options, 5-32, 10-9
equivalencing
host variable equivalencing, F-117
user-defined type equivalencing, F-112
equivalencing of datatypes
datatype equivalencing, 2-7
error detection
error reporting, F-122
error handling, 2-8
alternatives, 9-2
need for, 9-2
overview of, 2-8
SQLCA versus WHENEVER statement, 9-3
use of ROLLBACK statement in, 3-21
error messages
maximum length of, 9-24
use in error reporting, 9-16
using the sqlglm() function to get, 9-23
where available in SQLCA, 9-16
error reporting
key components of, 9-14
use of error messages in, 9-16
use of parse error offset in, 9-15
use of rows-processed count in, 9-15
use of warning flags in, 9-15
WHENEVER directive, F-122
ERRORS precompiler option, 10-21
ERRTYPE
precompiler option, 10-22
ERRTYPE OTT parameter, 19-33
ERRTYPE precompiler option, 17-22
exception, PL/SQL
definition of, 7-13
EXEC ORACLE DEFINE statement, 5-43
EXEC ORACLE ELSE statement, 2-15, 5-43
EXEC ORACLE ENDIF statement, 2-15, 5-43
EXEC ORACLE IFDEF statement, 2-15, 5-43
EXEC ORACLE IFNDEF statement, 2-15, 5-43
EXEC ORACLE OPTION statement
set option values inline, 10-9
EXEC ORACLE statement
scope of, 10-10
syntax for, 10-10
uses for, 10-10
EXEC ORACLE statements, 2-15
EXEC SQL CACHE FREE statement, 17-7
EXEC SQL clause
using to embed SQL, 2-4
EXEC SQL INCLUDE
contrasted with #include, 5-36
EXEC SQL VAR statement
CONVBUFSZ clause, 4-55
EXEC TOOLS
GET CONTEXT statement, 20-17
GET statement, 20-16
MESSAGE statement, 20-17
SET CONTEXT statement, 20-16
SET statement, 20-15
EXEC TOOLS statements, 20-14
executable SQL statements
purpose of, 6-6
uses for, 2-3
where allowed, 2-3
EXECUTE ... END-EXEC SQL statement, F-52
EXECUTE DESCRIPTOR statement
SQL statements
EXECUTE DESCRIPTOR, F-56
EXECUTE IMMEDIATE SQL statement, F-58
EXECUTE IMMEDIATE statement, 14-26
AT clause in, 3-11
examples, F-59
use in dynamic SQL method 1, 13-8
EXECUTE optional keyword of ARRAYLEN statement, 7-18
EXECUTE SQL statement, F-54
EXECUTE statement, 14-25
examples, F-53, F-55
use in dynamic SQL method 2, 13-12
execution of statements, 13-4
execution plan, C-5, C-6
EXPLAIN PLAN statement
function of, C-6
using to improve performance, C-6
explicit connections, 3-8
description of, 3-8
multiple, 3-12
single, 3-9
extensions
default file name, 19-41
external datatypes
definition of, 2-7
FLOAT, 4-6
INTEGER, 4-6
STRING, 4-6
external procedures, A-5
callbacks, 7-30
calling from PL/SQL, 7-30
creating, 7-31
error-handling, 7-32
restrictions, 7-31

F

F variable in SQLDA
how value is set, 15-10
purpose of, 15-10
FAQs, 1-8
features
new, xliii
features,new, xliii
FETCH DESCRIPTOR SQL statement, F-62
FETCH SQL statement, F-59
FETCH statement, 14-28
example of, 6-15
examples, F-62
INTO clause in, 6-15
purpose of, 6-13, 6-15
results of, 6-15
use in dynamic SQL method 3, 13-20
use in dynamic SQL method 4, 15-35
used after OPEN command, F-96
used after OPEN statement, F-94
fetching
rows from cursors, F-59, F-62
fetching in batches
batch fetch, 8-5
FIPS flagger
warns of array usage, 8-4
warns of missing Declare Section, 4-15
warns of use of pointers as host variables, 5-7
FIPS precompiler option, 10-22
flags
warning flags, 9-15
FLOAT datatype, 4-6
FOR clause
example of using, 8-18
of embedded SQL EXECUTE DESCRIPTOR statement, F-57
of embedded SQL EXECUTE statement, F-55
purpose of, 8-18
requirements for, 8-18
restrictions on, 8-19
using in dynamic SQL method 4, 15-37
using with host arrays, 8-18
when variable negative or zero, 8-18
FOR UPDATE OF clause
locking rows with, 3-24
purpose of, 3-24
when to use, 3-24
FORCE clause
of COMMIT statement, F-26
of ROLLBACK statement, F-101
forward references
why not allowed, 6-13
FREE SQL statement, 17-7, F-65
free() function, 15-37
example of using, 15-37
freeing
thread context, 11-10, F-29
Frequently Asked Questions, 1-8
full scan
description of, C-6
function prototype
definition of, 10-14
functions
cannot serve as host variables, 4-19

G

GENXTB form
how to run, 20-12
use with user exits, 20-12
GENXTB utility
how to run, 20-13
use with user exits, 20-13
GET DESCRIPTOR statement, 14-15
Globalization Support, 4-52, A-3
GOTO action
in the WHENEVER statement, 9-26
of WHENEVER directive, F-121
result of, 9-26
guidelines
for dynamic SQL, 13-6
for separate precompilations, 2-16
for the WHENEVER statement, 9-30
for transactions, 3-28
for user exits, 20-13

H

HEADER precompiler option, 5-37, 10-24
heap
definition of, 9-39
HFILE OTT parameter, 19-32
hints
COST, C-5
for the ORACLE SQL statement optimizer, 6-20
in DELETE statements, F-47
in SELECT statements, F-108
in UPDATE statements, F-116
HOLD_CURSOR
precompiler option
used to improved performance, C-12
what it affects, C-7
HOLD_CURSOR option
of ORACLE Precompilers, F-19
HOLD_CURSOR precompiler option, 10-24
host arrays
advantages of, 8-2
declaring, 8-2
dimensioning, 8-2
in the DELETE statement, 8-17
in the INSERT statement, 8-15
in the SELECT statement, 8-5
in the UPDATE statement, 8-15
in the WHERE clause, 8-20
matching sizes of, 8-3
referencing, 8-2, 8-3
restrictions on, 8-4, 8-14, 8-15, 8-16, 8-17
used as input host variables, 8-3
used as output host variables, 8-3
using in dynamic SQL method 4, 15-37
using in dynamic SQL statements, 13-29
using the FOR clause with, 8-18
using to improve performance, C-3
when not allowed, 8-2
host language
definition of, 2-2, 2-3
host program
definition of, 2-2
host structures
arrays in, 4-44
declaring, 4-43
host variables, 6-2
assigning values to, 2-6
declarations, 18-4
declaring, 2-10, 18-4
definition of, 2-5
dummy, 13-3
host variable equivalencing, F-117
in EXECUTE statement, F-55
in OPEN statement, F-93
in user exits, 20-4
input versus output, 6-2
must resolve to an address, 4-19
overview of, 2-5
purpose of, 6-2
restrictions on, 4-19
rules for naming, 2-13
using in PL/SQL, 7-7

I

I variable in SQLDA
how value is set, 15-10
purpose of, 15-10
IAF GET statement
example of using, 20-5
in user exits, 20-4
purpose of, 20-4
specifying block and field names in, 20-5
syntax for, 20-4
IAF PUT statement
example of using, 20-6
in user exits, 20-6
purpose of, 20-6
specifying block and field names in, 20-6
syntax for, 20-6
IAP in SQL*Forms
purpose of, 20-13
identifiers, ORACLE
how to form, F-12
implicit connections, 3-14
multiple, 3-15
single, 3-14
IN OUT parameter mode, 7-3
IN parameter mode, 7-3
INAME precompiler option, 10-25
INCLUDE
precompiler option, use of, 5-35
using to include the SQLCA, 9-17
INCLUDE precompiler option, E-3
indexes
using to improve performance, C-6
indicator arrays, 8-4
example of using, 8-4
uses for, 8-4
INDICATOR keyword, 4-19
indicator variables
assigning values to, 6-4
association with host variables, 6-3
declarations, 18-4
declaring, 4-19, 18-4
definition of, 2-6
function of, 6-3
guidelines, 4-21
interpreting values of, 6-4
naming of, 4-47
referencing, 4-19
requirements for, 6-4
used with multibyte character strings, 4-56
using in PL/SQL, 7-12
using to detect NULLs, 6-4
using to detect truncated values, 6-4
using to insert NULLs, 6-4
using to return NULLs, 6-5
using to test for NULLs, 6-6
with structures, 4-46
in-doubt transaction, 3-27
INITFILE OTT parameter, 19-31
INITFUNC OTT parameter, 19-32
initialization function
calling, 19-23
tasks of, 19-25
input host variables
assigning values to, 6-3
definition of, 6-2
restrictions on, 6-2
uses for, 6-2
where allowed, 6-2
INSERT SQL statement, F-69
examples, F-71
INSERT statement
column list in, 6-10
example of, 6-9
INTO clause in, 6-10
purpose of, 6-9
requirements for, 6-10
using host arrays in, 8-15
VALUES clause in, 6-10
inserting
rows into tables and views, F-69
INTEGER datatype, 4-6
interface
native, 5-56
XA, 5-56
internal datatypes
definition of, 2-6
INTERVAL DAY TO SECOND datatype, 4-14
INTERVAL YEAR TO MONTH datatype, 4-13
INTO clause
for output host variables, 6-2
in FETCH statements, 6-15
in INSERT statements, 6-10
in SELECT statements, 6-8
of FETCH DESCRIPTOR statement, F-63
of FETCH statement, F-60
of SELECT statement, F-107
used with FETCH instead of SELECT, 6-13
intype file, 19-35
providing when running OTT, 19-8
structure of, 19-35
INTYPE OTT parameter, 19-30
INTYPE precompiler option, 10-27
invalid use
of precompiler preprocessor, 5-33

J

joins
restriction on, 6-22

L

L variable in SQLDA
how value is set, 15-8
purpose of, 15-8
label name
maximum length of, 9-26
Large Objects (LOBs), A-4
LDA, 5-52
remote and multiple connections, 5-52
setup for OCI version 8, 5-52
lines
continuation, 2-13
maximum length, 2-13
LINES precompiler option, 10-28
link
database link, 3-14
linking, 2-17
on UNIX, 1-10
on VMS, 1-11
two-task, 2-17
Linking in an XA Library, E-3
LNAME precompiler option, 10-29
LNPROC
VMS link script, 1-11
LOB APPEND SQL statement, F-72
LOB APPEND statement, 16-12
LOB ASSIGN SQL statement, F-73
LOB ASSIGN statement, 16-13
LOB CLOSE SQL statement, F-73
LOB CLOSE statement, 16-13
LOB COPY SQL statement, F-74
LOB COPY statement, 16-14
LOB CREATE TEMPORARY SQL statement, F-74
LOB CREATE temporary statement, 16-15
LOB DESCRIBE SQL statement, F-75
LOB DISABLE BUFFERING SQL statement, F-76
LOB DISABLE BUFFERING statement, 16-16
LOB ENABLE BUFFERING SQL statement, F-77
LOB ENABLE BUFFERING statement, 16-16
LOB ERASE SQL statement, F-77
LOB ERASE statement, 16-17
LOB FILE CLOSE ALL SQL statement, F-78
LOB FILE CLOSE ALL statement, 16-18
LOB file close all statement, 16-18
LOB FILE SET SQL statement, F-78
LOB FILE SET statement, 16-18
LOB FLUSH BUFFER SQL statement, F-79
LOB FLUSH BUFFER statement, 16-19
LOB FREE TEMPORARY SQL statement, F-80
LOB FREE TEMPORARY statement, 16-20
LOB LOAD FROM FILE statement, 16-20
LOB LOAD SQL statement, F-80
LOB OPEN SQL statement, F-81
LOB OPEN statement, 16-21
LOB READ SQL statement, F-81
LOB READ statement, 16-22
LOB TRIM SQL statement, F-82
LOB WRITE SQL statement, F-83
LOBs
access methods, 16-5
BFILES, 16-2
buffering system, 16-10
external, 16-2
initializing, 16-8
internal, 16-2
locators, 16-3
locators in C, 16-7
temporary, 16-3
Location of Included Files, E-2
location of the Pro*C/C++ Executable, E-3
location transparency
how provided, 3-15
lock
released by ROLLBACK statement, F-102
LOCK TABLE statement
closes mall cursors, 3-26
example of, 3-25
locking tables with, 3-25
NOWAIT parameter in, 3-26
purpose of, 3-25
locking, 3-24
definition of, 3-16
explicit versus implicit, 3-24
modes of, 3-16
overriding default, 3-24
privileges needed to obtain, 3-28
table versus row, 3-24
uses for, 3-24
with FOR UPDATE OF, 3-24
with the LOCK TABLE statement, 3-25
logon, 3-2
Logon Data Area, 5-52
LONG datatype, 4-7
LONG RAW datatype, 4-10
LONG VARCHAR
datatype, 4-10
LONG VARRAW datatype, 4-10
LTYPE precompiler option, 10-29
lvalue, 4-14

M

M variable in SQLDA
how value is set, 15-11
purpose of, 15-11
macro precompiler options, 10-6
malloc()
example of using, 15-32
purpose of, 15-32
MAXLITERAL
default value for, 2-13
MAXLITERAL precompiler option, 10-30
MAXOPENCURSORS
precompiler option
effect on performance, C-10
for multiple cursors, 6-14
specifying for separate precompilation, 2-16
what it affects, C-7
MAXOPENCURSORS precompiler option, 10-31
metadata, 18-17
micro precompiler options, 10-6
migration
error message codes, A-6
include files, 5-36
migration from earlier releases, A-7
MODE interaction with DBMS, 10-17
MODE precompiler option, 10-32
modes, parameter, 7-3
multithreaded applications
sample program, 11-12
user-interface features
embedded SQL statements and directives, 11-7

N

N variable in SQLDA
how value is set, 15-7
purpose of, 15-7
naming
of cursors, 6-13
of database objects, F-12
of select-list items, 15-4
of SQL*Forms user exits, 20-13
NATIVE
value of DBMS option, 10-17
native interface, 5-56
navigational access sample program, 17-36
nested tables, 18-2
creation, 18-2
network
communicating over, 3-6
protocols, 3-6
reducing traffic, C-4
new features, xliii
NLS parameters, 4-52
NLS_CURRENCY, 4-52
NLS_DATE_FORMAT, 4-52
NLS_DATE_LANGUAGE, 4-52
NLS_ISO_CURRENCY, 4-52
NLS_LANG, 4-53
NLS_LANGUAGE, 4-52
NLS_NUMERIC_CHARACTERS, 4-52
NLS_SORT, 4-52
NLS_TERRITORY, 4-52
NLS_CHAR precompiler option, 10-33
NLS_LOCAL precompiler option, 10-33
node
current, 3-7
definition of, 3-6
NOT FOUND condition
in the WHENEVER statement, 9-25
meaning of, 9-25
of WHENEVER directive, F-121
NOWAIT parameter
effect of, 3-26
in LOCK TABLE statements, 3-26
omitting, 3-26
NULLs
definition of, 2-6
detecting, 6-4
handling in dynamic SQL method 4, 15-18
hardcoding, 6-5
inserting, 6-4
restrictions on, 6-6
returning, 6-5
testing for, 6-6
using the sqlnul() function to test for, 15-18
null-terminated strings, 4-7
NUMBER datatype, 4-5
using the sqlprc() function with, 15-16
numeric expressions
cannot serve as host variables, 4-19

O

object cache, 17-5
OBJECT CREATE SQL statement, 17-10, F-83
OBJECT DELETE SQL statement, 17-13, F-85
OBJECT DEREF SQL statement, 17-11, F-85
OBJECT FLUSH SQL statement, F-87
OBJECT FLUSH SQL statements, 17-13
OBJECT GET SQL statement, 17-17, F-88
OBJECT RELEASE SQL statement, F-89
OBJECT SET SQL statement, 17-16, F-90
Object Type Translator (OTT), A-4
command line, 19-6
command line syntax, 19-29
creating types in the database, 19-5
default name mapping, 19-41
outtype file, 19-20
parameters, 19-30 to  19-34
providing an intype file, 19-8
reference, 19-28
restriction, 19-42
using, 19-1, 19-2
using with Pro*C/C++, 19-26
Object Types, A-3
OBJECT UPDATE SQL statement, 17-13, F-91
objects
accessing with OCI, 19-23
introduction to, 17-2
manipulating with OCI, 19-23
persistent, 17-5
persistent versus transient copies of, 17-5
references to, 17-2
support, 17-1
transient, 17-5
types, 17-2
using object types in Pro*C/C++, 17-4
OBJECTS precompiler option, 10-34, 17-22
OCI applications
using the OTT with, 19-21
OCI calls, 1-9
embedding, 5-52
in an X/A environment, 5-58
OCI onblon() call
not used to connect, 5-52
OCI orlon() call
not used to connect, 5-52
OCI Release 8, 5-46
accessing and manipulating objects, 19-23
embedding in Pro*C/C++, 5-50
interfacing to, 5-48
parameters in the environment handle, 5-47
SQLLIB extensions, 5-46
OCI types
declaring, 17-46
manipulating, 17-47
OCIDate, 17-46
OCINumber, 17-46
OCIRaw, 17-46
OCIString, 17-46
using in embedded SQL, 17-47
OCIDate, 17-46
declaring, 17-46
ocidfn.h, 5-52
OCINumber, 17-46
declaring, 17-46
OCIRaw, 17-46
declaring, 17-46
OCIString, 17-46
declaring, 17-46
ONAME precompiler option, 10-34
OPEN CURSOR statement, 14-27
OPEN DESCRIPTOR SQL statement, F-94
OPEN SQL statement, F-92
OPEN statement, 6-14
dependence on precompiler options, 6-14
effect of, 6-14
example of, 6-14
examples, F-94
purpose of, 6-12, 6-14
use in dynamic SQL method 3, 13-20
use in dynamic SQL method 4, 15-30
opening
a cursor variable, 4-31
cursors, F-92, F-94
operators
C versus SQL, 2-14
restrictions on, 2-14
optimization approach, C-5
optimizer hints, C-5
in C, 6-20
in C++, 6-20, 12-4
ORACA, 9-4
example of using, 9-43
using to gather cursor cache statistics, 9-42
ORACA precompiler option, 10-35
ORACAID component, 9-39
Oracle
datatypes, 2-6
Forms Version 4, 20-14
Open Gateway
using the ROWID datatype with, 4-9
Toolset, 20-14
Oracle Call Interface version 7, 5-52
Oracle Communications Area, 9-36
Oracle names
how to form, F-12
Oracle Net
connecting to Oracle through, 3-7
connection syntax, 3-6
for concurrent connections, 3-7
function of, 3-6
OTT parameter TRANSITIVE, 19-34
OTT parameters
CASE, 19-33
CODE, 19-31
CONFIG, 19-32
ERRTYPE, 19-33
HFILE, 19-32
INITFILE, 19-31
INITFUNC, 19-32
INTYPE, 19-30
OUTTYPE, 19-31
SCHEMA_NAMES, 19-34
USERID, 19-30
where they appear, 19-34
OTT. See Object Type Translator
OUT parameter mode, 7-3
output host variables
assigning values to, 6-2
definition of, 6-2
outtype file, 19-35
when running OTT, 19-20
OUTTYPE OTT parameter, 19-31
overhead
reducing, C-2

P

PAGELEN
precompiler option, 10-36
parameter modes, 7-3
PARSE
precompiler option, 10-36
parse error offset
how to interpret, 9-15
use in error reporting, 9-15
parsing dynamic statements
PREPARE statement, F-97
password
defining, 3-2
passwords
changing at runtime, A-3
performance
eliminating extra parsing to improve, C-7
optimizing SQL statements to improve, C-5
reasons for poor, C-2
using embedded PL/SQL to improve, C-3
using HOLD_CURSOR to improve, C-12
using host arrays to improve, C-3
using indexes to improve, C-6
using RELEASE_CURSOR to improve, C-12
using row-level locking to improve, C-6
persistent copies of objects, 17-5
persistent objects, 17-5
placeholders
duplicate, 13-13, 13-30
naming, 13-14
proper order of, 13-14
use in dynamic SQL statements, 13-3
PL/SQL, 1-5
anonymous block
used to open a cursor variable, 4-32
cursor FOR loop, 7-3
description of, 1-5
difference from SQL, 1-5
executing a block using the AT clause, 3-10
integration with database server, 7-2
main advantage of, 1-5
packages, 7-4
PL/SQL tables, 7-5
procedures and functions, 7-3
RECORD type
cannot be bound to a C struct, 4-45
relationship with SQL, 1-5
setting SQLCA, 9-23
user-defined records, 7-5
PL/SQL blocks
embedded in precompiler programs, F-52
pointer
definition of, 4-50
to cursor variables
restrictions on, 4-30
pointer variables
declaring, 4-50
determining size of referenced value, 4-50
referencing, 4-50
referencing struct members with, 4-50
precedence of precompiler options, 10-4
precision
definition of, 15-16
using sqlprc() to extract, 15-16
when not specified, 15-16
precompilation
conditional, 2-15
separate, 2-16
precompilation unit, 3-2, 10-7
precompiled header files, 5-37, A-2
C++ restrictions, 5-41
CODE option, 5-41
PARSE option, 5-41
precompiler options
alphabetized list, 10-7, 10-11
AUTO_CONNECT, 10-11
case sensitivity, 10-3
CHAR_MAP, 5-2, 10-12, A-3
CLOSE_ON_COMMIT, 6-18, 10-13
CODE, 10-14
COMP_CHARSET, 10-15
CONFIG, 10-15
configuration files, 10-3
CPP_SUFFIX, 10-16
DBMS, 10-17
DEF_SQLCODE, 10-18
DEFINE, 10-19
determining current value, 10-5
DURATION, 10-21
DYNAMIC, 14-12
entering, 10-9
entering on the command line, 10-10
ERRORS, 10-21
ERRTYPE, 10-22
FIPS, 10-22
HEADER, 10-24
HOLD_CURSOR, 10-24
INAME, 10-25
INCLUDE, 10-26
INTYPE, 10-27
LINES, 10-28
list of, 10-11
LNAME, 10-29
LTYPE, 10-29
MAXLITERAL, 2-13, 10-30
MAXOPENCURSORS, 10-31
micro and macro, 10-6
MODE, 10-32, 14-12
NLS_CHAR, 10-33
NLS_LOCAL, 10-33
OBJECTS, 10-34
ONAME, 10-34
ORACA, 10-35
PAGELEN, 10-36
PARSE, 10-36
precedence, 10-4
PREFETCH, 10-37
RELEASE_CURSOR, 10-38
scope, 10-7
scope of, 10-7
SELECT_ERROR, 10-39
specifying, 10-10
SQLCHECK, 10-39, 17-23
syntax for, 10-10
SYS_INCLUDE, 10-40
THREADS, 10-41, 11-7
TYPE_CODE, 10-42, 14-12
UNSAFE_NULL, 10-42
USERID, 10-43
using, 10-11 to  10-45
VARCHAR, 10-44
VERSION, 10-45
predefined symbols, 2-15
PREFETCH precompiler option, 6-18, 10-37, A-5
PREPARE SQL statement, F-97
PREPARE statement, 14-23
effect on data definition statements, 13-5
examples, F-98
use in dynamic SQL, 13-12, 13-19
use in dynamic SQL method 4, 15-25
preprocessor
example, 5-44
EXEC ORACLE directives, 5-43
preprocessor directives
directives not supported by Pro*C, 5-30
preprocessor, support of, 4-2
private SQL area
association with cursors, 2-7
definition of, 2-7
opening of, 2-7
purpose of, C-9
Pro*C/C++ Precompiler
common uses for, 1-4
Globalization Support, 4-53
new database types, 17-47
new features, A-1 to ??
object support in, 17-1
runtime context, 5-47
use of PL/SQL with, 7-6
using OTT with, 19-26
procedural database extension, 7-4
program termination
normal versus abnormal, 3-23
programming guidelines, 2-9

Q

queries
association with cursors, 6-12
forwarding, 3-14
incorrectly coded, 6-9
kinds of, 6-7
requirements for, 6-7
returning more than one row, 6-7
single-row versus multirow, 6-9

R

RAW datatype, 4-9
READ ONLY parameter
in SET TRANSACTION statement, 3-23
read-only transactions
description of, 3-23
example of, 3-24
how ended, 3-23
record, 7-5
REF
structure for, 17-45
REF (reference to object), 17-2
REFERENCE clause
in TYPE statement, 5-14
reference semantics (ANSI dynamic SQL), 14-8
references to objects (REFs)
declaring, 17-45
using, 17-45
using in embedded SQL, 17-46
referencing
of host arrays, 8-2, 8-3
REFs
declaring, 17-45
using, 17-45
using in embedded SQL, 17-46
REGISTER CONNECT SQL statement, F-98
RELEASE option, 3-23
if omitted, 3-23
in COMMIT statement, 3-18
in ROLLBACK statement, 3-21
purpose of, 3-18
restriction on, 3-21
RELEASE_CURSOR
precompiler option
what it affects, C-7
RELEASE_CURSOR option
of ORACLE Precompilers, F-19
using to improve performance, C-12
RELEASE_CURSOR precompiler option, 10-38
remote database
declaration of, F-38
reserved namespaces, B-4
reserved words and keywords, B-2
resource manager, 5-56
restrictions
on AT clause, 3-11
on Comments, 13-31
on CURRENT OF clause, 6-22
on declaring cursors, 6-13
on FOR clause, 8-19
on host arrays, 8-4, 8-14, 8-15, 8-16, 8-17
on input host variables, 6-2
on NULLs, 6-6
on separate precompilation, 2-16
on SET TRANSACTION statement, 3-23
use of CURRENT OF clause, 8-4
retrieving rows from a table
embedded SQL, F-104
return codes
user exits, 20-8
returning clause
DELETE, 6-11
in INSERT, 6-11
in UPDATE, 6-11
returning clauses, 6-11
roll back
to a savepoint, F-103
to the same savepoint multiple times, F-102
ROLLBACK SQL statement, F-100
ROLLBACK statement, 3-22
effect of, 3-20
ending a transaction, F-101
example of, 3-21
examples, F-102
in error handling routines, 3-21
purpose of, 3-20
RELEASE option in, 3-21
TO SAVEPOINT clause in, 3-20
using in a PL/SQL block, 3-28
where to place, 3-21
rollbacks
automatic, 3-22
function of, 3-16
statement-level, 3-22
row locks
acquiring with FOR UPDATE OF, 3-24
advantage of, C-6
using to improve performance, C-6
when acquired, 3-25
when released, 3-25
ROWID
logical, 4-8, 4-41
pseudocolumn, 3-26
using to mimic CURRENT OF, 3-26, 8-31
pseudocolumns, 4-41
universal, 4-8, 4-41, A-5
ROWID datatype, 4-8
rows
fetching from cursors, F-59, F-62
inserting into tables and views, F-69
updating, F-113
rows-processed count
use in error reporting, 9-15
runtime context
establishing, 5-47
terminating, 5-47
runtime type checking, 17-23

S

S variable in SQLDA
how value is set, 15-10
purpose of, 15-10
sample database tables
DEPT table, 2-17
EMP table, 2-17
sample object type code, 17-36
sample programs
ansidyn1.pc, 14-31
ansidyn2.pc, 14-39
calldemo.sql, with sample9.pc, 7-24
coldemo1.pc, 18-24
cppdemo1.pc, 12-6
cppdemo2.pc, 12-10
cppdemo3.pc, 12-14
cursor variable demos, 4-36
cv_demo.pc, 4-36
cv_demo.sql, 4-36
extp1.pc, 7-32
how to precompile, 2-19
lobdemo1.pc, 16-36
navdemo1.pc, 17-36
oraca.pc, 9-43
sample10.pc, 15-40
sample11.pc, 4-36
sample12.pc, 15-40
sample1.pc, 2-19
sample2.pc, 4-47
sample3.pc, 8-8
sample4.pc, 5-16
sample5.pc, 20-10
sample6.pc, 13-9
sample7.pc, 13-14
sample8.pc, 13-21
sample9.pc, 7-24
sqlvcp.pc, 4-26
SAVEPOINT SQL statement, F-103
SAVEPOINT statement, F-103
example of, 3-19
examples, F-104
purpose of, 3-19
savepoints
creating, F-103
definition of, 3-19
uses for, 3-19
when erased, 3-20
Scale
using SQLPRC to extract, F-119
scale
definition of, 15-17, F-119
using sqlprc() to extract, 15-17
when negative, 15-17, F-119
SCHEMA_NAMES OTT parameter, 19-34
usage, 19-39
scope
of a cursor variable, 4-30
of DECLARE STATEMENT directive, F-40
of precompiler options, 10-7
of the EXEC ORACLE statement, 10-10
of WHENEVER statement, 9-29
search condition
definition of, 6-11
in the WHERE clause, 6-11
select descriptor, 13-25, 15-4
definition of, 13-25
information in, 13-26
select list
definition of, 6-8
number of items in, 6-8
using the free() function for, 15-37
using the malloc() function for, 15-32
SELECT SQL statement, F-104
select SQLDA
purpose of, 15-3
SELECT statement, 6-8
clauses available for, 6-9
embedded SQL examples, F-108
example of, 6-8
INTO clause in, 6-8
purpose of, 6-8
testing, 6-9
using host arrays in, 8-5
WHERE clause in, 6-8
SELECT_ERROR
precompiler option, 6-9, 10-39
semantic checking
controlling with the SQLCHECK option, D-2
definition of, D-2
enabling, D-4
with the SQLCHECK option, D-2
separate precompilation
guidelines for, 2-16
referencing cursors for, 2-16
restrictions on, 2-16
specifying MAXOPENCURSORS for, 2-16
using a single SQLCA with, 2-17
server
integration with PL/SQL, 7-2
session
definition of, 3-15
sessions
beginning, F-26
SET clause
in UPDATE statements, 6-10
purpose of, 6-10
use of subqueries in, 6-10
SET DESCRIPTOR statement, 14-19, F-109
SET TRANSACTION statement
example of, 3-23
purpose of, 3-23
READ ONLY parameter in, 3-23
requirements for, 3-23
restrictions on, 3-23
Size of an Integer and ROWID, E-2
SQL
benefits of, 1-4
Embedded SQL, 1-4
nature of, 1-4
need for, 1-4
SQL Communications Area, 9-2
SQLCA, 9-16
SQL Descriptor Area
SQLDA, 13-25, 15-4
SQL directives
CONTEXT USE, 11-8, F-33
DECLARE DATABASE, F-38
DECLARE STATEMENT, F-39
DECLARE TABLE, F-41
DECLARE TYPE, F-43
TYPE, F-112
VAR, F-117
WHENEVER, F-121
SQL statements
ALLOCATE, F-12
ALLOCATE DESCRIPTOR TYPE, F-14
CACHE FREE ALL, F-15
CALL, 7-28, F-16
CLOSE, F-18
COMMIT, F-24
concerns when executing, 6-6
CONNECT, F-26
CONTEXT ALLOCATE, F-28
CONTEXT FREE, F-29
CONTEXT OBJECT OPTION GET, F-31
CONTEXT OBJECT OPTION SET, F-32
DEALLOCATE DESCRIPTOR, F-34
DELETE, F-44
DESCRIBE, F-48
DESCRIBE DESCRIPTOR, F-50
ENABLE THREADS, F-51
executable versus directive, 2-3
EXECUTE, F-54
EXECUTE ... END-EXEC, F-52
EXECUTE IMMEDIATE, F-58
FETCH, F-59
FETCH DESCRIPTOR, F-62
for defining and controlling transactions, 3-16
for manipulating a cursor, 6-8, 6-12
FREE, F-65
INSERT, F-69
LOB APPEND, F-72
LOB ASSIGN, F-73
LOB CLOSE, F-73
LOB COPY, F-74
LOB CREATE, F-74
LOB DESCRIBE, F-75
LOB DISABLE BUFFERING, F-76
LOB ENABLE BUFFERING, F-77
LOB ERASE, F-77
LOB FILE CLOSE, F-78
LOB FILE SET, F-78
LOB FLUSH BUFFER, F-79
LOB FREE TEMPORARY, F-80
LOB LOAD, F-80
LOB OPEN, F-81
LOB READ, F-81
LOB TRIM, F-82
LOB WRITE, F-83
OBJECT CREATE, F-83
OBJECT DELETE, F-85
OBJECT DEREF, F-85
OBJECT FLUSH, F-87
OBJECT GET, F-88
OBJECT RELEASE, F-89
OBJECT SET, F-90
OBJECT UPDATE, F-91
OPEN, F-92
OPEN DESCRIPTOR, F-94
optimizing to improve performance, C-5
PREPARE, F-97
REGISTER CONNECT, F-98
ROLLBACK, F-100
rules for executing, C-5
SAVEPOINT, F-103
SELECT, F-104
SET DESCRIPTOR, F-109
summary of, F-5
types of, 2-3
UPDATE, F-113
SQL*Forms
display error screen in, 20-8
IAP constants in, 20-8
returning values to, 20-8
reverse return code switch in, 20-8
SQL*Net
connecting using Version 2, 3-4
SQL*Plus, 1-4
using to test SELECT statements, 6-9
versus embedded SQL, 1-4
SQL, dynamic, 2-5
SQL_CURSOR, F-12
SQL_SINGLE_RCTX
defined constant, 5-53
definition of, 5-48
sqlald() function
example of using, 15-22
purpose of, 15-5
syntax for, 15-5
sqlaldt() function
see SQLSQLDAAlloc, 5-54
SQLCA, 9-2, 9-14
components in, 9-20
components set for a PL/SQL block, 9-23
declaring, 9-17
description of, 9-16
explicit versus implicit checking of, 9-3
including multiple times, 5-35
overview of, 2-8
SQLCABC component in, 9-20
SQLCAID component in, 9-20
sqlerrd, 9-22
sqlerrd[2] component in, 9-21
sqlerrmc component in, 9-21
sqlerrml component in, 9-21
sqlwarn, 9-22
use in separate precompilations, 2-17
using more than one, 9-16
using with SQL*Net, 9-16
sqlca.h
listing of, 9-18
use of SQLCA_STORAGE_CLASS with, 2-17
SQLCAID component, 9-20
SQLCDAFromResultSetCursor(), 5-54
SQLCDAGetCurrent, 5-55
sqlcdat()
see SQLCDAFromResultSetCursor(), 5-54
SQLCHECK option
restrictions on, D-2
usage notes for, 10-40
what it affects, D-3
SQLCHECK precompiler option, 10-39, 17-23, D-4, D-5
SQLCHECK support for objects, 17-23
sqlclu() function
example of using, 15-37
purpose of, 15-37
syntax for, 15-37
sqlclut() function
see SQLSQLDAFree(), 5-54
SQLCODE
with MODE=ANSI, 10-32
sqlcode
component in SQLCA, 9-4, 9-15
SQLCODE status variable
declaring, 9-14
when declared with the SQLCA, 9-14
when used, 9-14
sqlcpr.h, 9-24
sqlcurt() function
see SQLDAToResultSetCursor(), 5-54
SQLDA
bind versus select, 13-26
C variable in, 15-11
definition of, 13-26
F variable in, 15-10
I variable in, 15-10
information stored in, 13-26
L variable in, 15-8
M variable in, 15-11
N variable in, 15-7
purpose of, 13-25
S variable in, 15-10
struct, contents of, 15-5
structure of, 15-7
T variable in, 15-9
use in dynamic SQL method 4, 15-4
V variable in, 15-8
X variable in, 15-11
Y variable in, 15-11
Z variable in, 15-12
sqlda.h, 15-3
SQLDAToResultSetCursor(), 5-54
SQLEnvGet function in SQLLIB, 5-48
SQLEnvGet(), 5-55
sqlerrd
component, 9-15, 9-22
sqlerrd[2] component, 9-15, 9-21
returns N or rows fetched, 8-7
use with data manipulation statements, 8-6
sqlerrm
component in the SQLCA, 9-4
sqlerrmc component, 9-21
sqlerrml component, 9-21
SQLERROR
WHENEVER directive condition, F-121
SQLERROR condition
in the WHENEVER statement, 9-25
meaning of, 9-25
SQLErrorGetText(), 5-54
SQLExtProcError(), 5-55, 7-32
sqlglm(), 9-24
sqlglm() function, 9-23
example of using, 9-24
parameters of, 9-23
sqlglmt()
see SQLErrorGetText, 5-54
sqlgls() function, 9-32
example of use, 4-26
sample program for, 9-35
see SQLLIB
function SQLStmGetText, 4-26
sqlglst() function
see SQLStmtGetText, 5-54
SQLIEM function
in user exits, 20-8
purpose of, 20-8
syntax for, 20-8
sqlld2() function, 5-58
sqlld2t() function
see SQLLDAGetName, 5-54
SQLLDAGetName, 5-54
sqlldat() function
see SQLCDAGetCurrent, 5-55
SQLLIB
and embedded SQL, 2-4
extensions for OCI interoperability, 5-46
function
SQLCDAFromResultSetCursor, 5-54
function SQLCDAGetCurrent, 5-55
function SQLColumnNullCheck, 5-55
function SQLDAFree, 5-54
function SQLDAToResultSetCursor, 5-54
function SQLEnvGet, 5-48, 5-55
function SQLErrorGetText, 5-54
function SQLExtProcError, 5-55, 7-32
function SQLLDAGetName, 5-54
function SQLNumberPrecV6, 5-55
function SQLNumberPrecV7, 5-55
function SQLRowidGet, 5-55
function SQLStmtGetText(), 5-54
function SQLSvcCtxGet, 5-49, 5-55
function SQLVarcharGetLength, 4-25
new names for functions, A-3
new names for public functions, 5-53
SQLLIB function
SQLSQLDAAlloc, 5-54
SQLVarcharGetLength, 5-55
sqlnul() function
example of using, 15-18
purpose of, 15-18
syntax for, 15-18
use of with T variable, 15-9
sqlnult() function
see SQLColumnNullCheck(), 5-55
SQLNumberPrecV6, 5-55
SQLNumberPrecV7, 5-55
sqlpr2() function, 15-17
sqlpr2t() function
see SQLNumberPrecV7, 5-55
sqlprc() function, 15-16, 15-17
sqlprct() function
see SQLNumberPrecV6, 5-55
SQLRowidGet(), 5-55
SQLSQLDAAlloc, 5-54
SQLSQLDAFree(), 5-54
SQLSTATE
class codes, 9-5
declaring, 9-4
mapping to Oracle errors, 9-7
status codes, 9-7
status variable, 9-2, 9-4
using, 9-13
values, 9-5
with MODE=ANSI, 10-32
SQLStmtGetText, 5-54
SQLSvcCtxGet function in SQLLIB, 5-49
SQLSvcCtxGet(), 5-55
SQLVarcharGetLength, 5-55
sqlvcp() function, see SQLLIB
function SQLVarcharGetLength, 4-25
sqlvcpt() function
see SQLVarcharGetLength, 5-55
sqlwarn
flag, 9-22
SQLWARNING
WHENEVER directive condition, F-121
SQLWARNING condition
in the WHENEVER statement, 9-25
meaning of, 9-25
Standard Header Files, E-2
statement-level rollback
description of, 3-22
to break deadlocks, 3-22
status codes
meaning of, 9-15
status variables, 9-2
STOP action
in the WHENEVER statement, 9-26
of WHENEVER directive, F-121
result of, 9-26
stored procedures
program example, 7-24
stored subprograms
calling, 7-23
creating, 7-21
packaged versus standalone, 7-21
stored versus inline, 7-21
STRING datatype, 4-6
string host variables
declaring, 5-8
Struct Component Alignment, E-2
structs
array of, 8-21, A-2
as host variables, 4-43
C, using, 17-44
for collection object types, 18-4
generating C structs for a REF, 17-45
pointers as host variables, 4-51
structs (structures)
cannot be nested, 4-45
structures (structs)
nesting not permitted for host, 4-45
subqueries
definition of, 6-10
example of, 6-10
uses for, 6-10
using in the SET clause, 6-10
using in the VALUES clause, 6-10
symbols
defining, 2-15
syntax checking
controlling with the SQLCHECK option, D-2
definition of, D-2
syntax diagram
description of, F-9
how to read, F-9
how to use, F-9
symbols used in, F-9
syntax, embedded SQL, 2-4
SYS_INCLUDE
system header files in C++, 12-5
SYS_INCLUDE precompiler option, 10-40
SYSDBA/SYSOPER Privileges, A-6
System Configuration File, E-3
system configuration file, 10-4
system failure
effect on transactions, 3-17
System Global Area (SGA), 7-21
system header files
specifying the location of, 12-5
system-specific Oracle documentation, 1-10, 2-17, 3-7, 5-32, 5-58, 20-1
system-specific reference, 4-6, 10-3, 10-4, 10-27, 10-41

T

T variable in SQLDA
how value is set, 15-9
purpose of, 15-9
Table, 11-32
table locks
acquiring with LOCK TABLE, 3-25
effect of, 3-26
row share, 3-25
when released, 3-26
tables
inserting rows into, F-69
nested, 18-2
updating rows in, F-113
terminal
encoding scheme, 4-53
termination, program
normal versus abnormal, 3-23
THREADS
precompiler option, 10-41, 11-7
threads, F-28
allocating context, 11-8, F-28
enabling, 11-8, F-51
freeing context, 11-10, F-29
use context, 11-8
TIMESTAMP datatype, 4-12
TIMESTAMP WITH LOCAL TIME ZONE datatype, 4-13
TIMESTAMP WITH TIME ZONE datatype, 4-13
TO clause
of ROLLBACK statement, F-101
TO SAVEPOINT clause
in ROLLBACK statement, 3-20
purpose of, 3-20
restriction on, 3-21
Toolset
Oracle, 20-14
trace facility
function of, C-6
using to improve performance, C-6
transaction processing
overview of, 2-8
statements used for, 2-8
transaction processing monitor, 5-56
transactions
committing, F-24
contents of, 2-8, 3-17
definition of, 2-8
description of, 3-16
distributed, F-102
failure during, 3-17
guarding databases with, 3-16
guidelines for, 3-28
how to begin, 3-17
how to end, 3-17
making permanent, 3-18
read-only, 3-23
rolling back, F-100
subdividing with savepoints, 3-19
terminating, 3-18
undoing, 3-20
undoing parts of, 3-19
when rolled back automatically, 3-17, 3-22
transient copies of objects, 17-5
transient objects, 17-5
TRANSITIVE OTT parameter, 19-34
truncated values
detecting, 6-4, 7-14
truncation error
when generated, 6-6
tuning, performance, C-2
two-task
linking, 2-17
type checking at runtime, 17-23
TYPE directive
examples, F-113
type inheritance, 17-3
example, 17-26
IS OF type operator, 17-3
example, 17-3
TREAT operator, 17-3
example, 17-3, 17-4
TYPE SQL directive, F-112
TYPE_CODE
precompiler option, 10-42

U

undo a transaction, F-100
Unicode character set, 5-9
Unicode variables, A-5
unions
cannot be nested in host structures, 4-45
not permitted as host structures, 4-45
universal ROWID, 4-8, 4-41, A-5
UNIX
linking a Pro*C application under, 1-10
UNSAFE_NULL precompiler option, 10-42
UNSIGNED datatype, 4-10
UPDATE SQL statement, F-113
UPDATE statement
embedded SQL examples, F-117
example of, 6-10
purpose of, 6-10
SET clause in, 6-10
using host arrays in, 8-15
WHERE clause in, 6-10
updating
rows in tables and views, F-113
use
thread context, 11-8, F-33
user configuration file
to set precompiler options, 10-4
User Exits, E-3
user exits
calling from a SQL*Forms trigger, 20-7
common uses for, 20-3
example of, 20-9
guidelines for, 20-13
kinds of statements allowed in, 20-4
linking into IAP, 20-13
meaning of codes returned by, 20-8
naming, 20-13
passing parameters to, 20-7
requirements for variables in, 20-4
running the GENXTB form, 20-12
running the GENXTB utility for, 20-13
use of IAF GET statements in, 20-5
use of IAF PUT statements in, 20-6
use of WHENEVER statement in, 20-9
user session
definition of, 3-15
user-defined record, 7-5
user-defined stored function
used in WHERE clause, 6-11
user-defined type equivalencing, F-112
USERID option
when required, 10-43
USERID OTT parameter, 19-30
USERID precompiler option, 10-43
using with the SQLCHECK option, D-4
usernames
defining, 3-2
using C structures, 17-44
USING clause
in CONNECT statement, 3-9
in the EXECUTE statement, 13-13
of FETCH statement, F-61
of OPEN statement, F-93
purpose of, 13-13
using indicator variables in, 13-14
using collection types, 17-45
using dbstring
Oracle Net database specification string, F-27
Using REFs in Embedded SQL, 17-46

V

V variable in SQLDA
how value is set, 15-8
purpose of, 15-8
V7
value of DBMS option, 10-17
VALUES clause
in INSERT statements, 6-10
kinds of values allowed in, 6-10
of embedded SQL INSERT statement, F-71
of INSERT statement, F-71
purpose of, 6-10
requirements for, 6-10
use of subqueries in, 6-10
VAR directive
examples, F-120
VAR SQL directive, F-117
VAR statement
syntax for, 5-13, 5-14
VARCHAR
arrays of, 8-2
VARCHAR datatype, 4-7
VARCHAR precompiler option, 10-44
VARCHAR pseudotype
requirements for using with PL/SQL, 7-11
VARCHAR variables
advantages of, 4-22
declaring, 4-22
length member in, 4-22
must be passed to a function by reference, 4-24
specifying the length of, 4-22
structure of, 4-22
using macros to define length of, 5-29
versus character arrays, 5-9
VARCHAR2 datatype, 4-4, 5-15
variables, 2-5
cursor, 4-29
host, 18-4
indicator, 18-4
VARNUM datatype, 4-7
VARRAW datatype, 4-10
varrays
creation, 18-3
varying length arrays, 18-3
VERSION precompiler option, 10-45, 17-21
views
inserting rows into, F-69
updating rows in, F-113
VMS
linking a precompiler application, 1-11

W

warning flags
use in error reporting, 9-15
WHENEVER directive
examples, F-122
WHENEVER SQL directive, F-121
WHENEVER statement
automatic checking of SQLCA with, 9-25
CONTINUE action in, 9-26
DO action in, 9-26
DO BREAK action in, 9-26
DO CONTINUE action in, 9-26
examples of, 9-27
GOTO action in, 9-26
guidelines for, 9-30
maintaining addressability for, 9-32
new actions, A-3
NOT FOUND condition in, 9-25
overview of, 2-8
scope of, 9-29
SQLERROR condition in, 9-25
SQLWARNING condition in, 9-25
STOP action in, 9-26
use in user exits, 20-9
using to avoid infinite loops, 9-31
using to handle end-of-data conditions, 9-30
where to place, 9-30
WHERE clause
host arrays in, 8-20
if omitted, 6-11
in DELETE statements, 6-11
in SELECT statements, 6-8
in UPDATE statements, 6-10
purpose of, 6-11
search condition in, 6-11
WHERE CURRENT OF clause
CURRENT OF clause, 6-21
WORK option
of COMMIT statement, F-25
of ROLLBACK statement, F-101

X

X variable in SQLDA
how value is set, 15-11
purpose of, 15-11
XA interface, 5-56
X/Open, 5-57
application development, 5-56

Y

Y variable in SQLDA
how value is set, 15-11
purpose of, 15-11

Z

Z variable in SQLDA
how value is set, 15-12
purpose of, 15-12

Go to previous page
Oracle
Copyright © 1996, 2002 Oracle Corporation.

All Rights Reserved.
Go To Documentation Library
Home
Go To Product List
Book List
Go To Table Of Contents
Contents

Master Index

Feedback