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

Part Number A89861-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-30

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-13
if empty, 6-16
when fetched from, 6-15
when no longer defined, 6-13
ALLOCATE
allocating a cursor variable, 4-31
ALLOCATE DESCRIPTOR statement, 14-13, F-14
ALLOCATE SQL statement, 17-6
ALLOCATE SQL statements, F-12
allocating
cursor variables, 4-31
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-17, A-2
ARRAYLEN statement, 7-18
arrays
batch fetch, 8-5
bulk operations (ANSI dynamic SQL), 14-9
chapter discusses how to use, 8-1
definition of, 4-46
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
of DECLARE CURSOR directive, F-36
of DECLARE STATEMENT directive, F-39
of EXECUTE IMMEDIATE statement, F-57
of EXECUTE statement, F-52
of INSERT statement, F-69
of SAVEPOINT statement, F-103
of SELECT statement, F-106
of SROLLBACK statement, F-100
of UPDATE statement, F-114
restriction on, 3-11
use of, 3-10
attributes of a collection
descriptions, 18-15
AUTO_CONNECT, 10-12
precompiler option, 3-5
AUTO_CONNECT precompiler option, 10-12
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-26, 15-5
definition of, 13-26
information in, 13-26
bind SQLDA
purpose of, 15-3
bind variables
input host variables, 13-26
binding
definition of, 13-4
BREAK action
of WHENEVER, F-120
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-46
using, 17-45
C types of collection attributes, 18-15
C variable in SQLDA
how value is set, 15-11
purpose of, 15-11
C++, 1-8
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-3
example, 7-29
Calling Java from PL/SQL, A-5
CASE OTT parameter, 19-34
case sensitivity
in precompiler options, 10-3
CHAR datatype, 4-11
CHAR_MAP precompiler option, 5-2, 10-13, A-3
character data, 5-2
character strings
multibyte, 4-57
CHARF datatype, 4-12, 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-32
code page, 4-54
CODE precompiler option, 10-14
coding conventions, 2-10
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-21
collection object types
handling, 18-4
COLLECTION RESET statement, 18-12
example, 18-23
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-23
collection types
structs for, 18-4
collections, A-5
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-32
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-36
concurrency
definition of, 3-16
concurrent connections, 3-7
conditional precompilation, 2-15
defining symbols, 5-44
example, 2-16, 5-45
CONFIG OTT parameter, 19-33
CONFIG precompiler option, 10-16
configuration files, 10-4
and the Object Type Translator, 19-5
location, 10-4
system, 10-5
user, 10-5
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
connections
concurrent, 3-12
default versus nondefault, 3-8
Explicit connections, 3-8
implicit, 3-14
naming of, 3-8
const
declaring constants, 5-47
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-21
CONTEXT OBJECT OPTION SET SQL statement, 17-20
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-120
result of, 9-26
CONVBUFSZ clause, 4-56
CPP_SUFFIX
precompiler option, 12-5
CPP_SUFFIX precompiler option, 10-16
CPP_SUFFIX precompiler options, 10-16
CREATE PROCEDURE statement
embedded, 7-22
creating
savepoints, F-103
creating temporary LOB, 16-16
CURRENT OF clause, 8-4
example of, 6-20
mimicking with ROWID, 3-26, 8-28
purpose of, 6-19
restrictions on, 6-20
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-21
cursor operations
overview of, 6-13
cursor variables, 4-29, F-12
allocating, 4-31
declaring, 4-30
restrictions on, 4-36
cursors, 2-17, 4-29
allocating, F-12
allocating a cursor variable, 4-31
analogy for, 2-7
association with queries, 6-13
closing, F-18
declaring, 6-13
definition of, 2-7
explicit versus implicit, 2-7
fetching rows from, F-58, F-61
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-14
rules for naming, 6-13
scope of, 6-14
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-14
definition of, 3-16
data locks, 3-16
database link
creating synonym for, 3-15
defining, 3-14
example using, 3-14
using in INSERT statement, F-69
where stored, 3-14
database types
new, 17-48
databases
naming, 3-8
datatype equivalencing, 2-7
datatypes
ANSI DATE, 4-12
codes used in descriptors, 15-16
coercing NUMBER to VARCHAR2, 15-16
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-14
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-111
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-18
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-51
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-37
Declare Section
allowable statements, 2-11
form, 2-10
purpose, 2-10
required when MODE=ANSI, 10-33
requirements, 2-10
rules for defining, 2-11
when MODE=ANSI, 5-16
when required, 2-10, 4-15
DECLARE statement, 6-14
example of, 6-13
purpose of, 6-13
required placement of, 6-13
scope of, F-40
use in dynamic SQL method 3, 13-20
DECLARE STATEMENT directive, F-39
DECLARE STATEMENT statement
AT clause in, 3-12
example of using, 13-29
using with dynamic SQL, 13-29
when required, 13-29
DECLARE statements
examples, F-40
DECLARE TABLE directive
examples, F-42
using with the SQLCHECK option, D-5
DECLARE TABLE SQL directive, F-40
DECLARE TABLE statement
need for with AT clause, 3-10
DECLARE TYPE directive, F-42
DEF_SQLCODE precompiler option, 10-18
default connections, 3-8
default database, 3-7
default file name extensions, 19-42
DEFINE precompiler option, 10-19
used in application migration, 5-36
defining symbols, 2-15
DELETE CASCADE, 9-22
DELETE SQL statement, F-43
DELETE statement
embedded SQL examples, F-46
example of, 6-11
purpose of, 6-11
using host arrays in, 8-13
WHERE clause in, 6-11
delimiters
C versus SQL, 2-11
DEPT table, 2-18
DESCRIBE BIND VARIABLES statement
use in dynamic SQL method 4, 15-25
DESCRIBE command
use with PREPARE command, F-47
DESCRIBE DESCRIPTOR statement, F-49
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-47
DESCRIBE statement
examples, F-48
use in dynamic SQL Method 4, 13-26
descriptions of collection attributes, 18-15
descriptors, 15-5
bind descriptor, 13-26
definition of, 13-25
need for, 15-5
select descriptor, 13-26
using the sqlald() function to allocate, 15-6
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-6
DML returning clauses, 6-12
DO action
in the WHENEVER statement, 9-26
of WHENEVER directive, F-120
result of, 9-26
DTP model, 5-57
dummy host variables
placeholders, 13-3
DURATION precompiler option, 10-21, 17-22
dynamic PL/SQL
rules for, 13-30
versus dynamic SQL, 13-30
dynamic SQL
advantages and disadvantages of, 13-2
cannot use cursor variables with, 4-36
choosing the right method, 13-7
definition of, 2-5
guidelines for, 13-6
overview of, 13-2
restriction on, 6-20
restrictions on use of datatypes, 17-51
restrictions on using datatypes in, 17-51
use of PL/SQL with, 7-34
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-9
example of, 13-9
how to use, 13-8
requirements for, 13-5
use of EXECUTE IMMEDIATE with, 13-9
use of PL/SQL with, 13-30
dynamic SQL method 2
commands used with, 13-5
description of, 13-13
example of, 13-15
requirements for, 13-5
use of DECLARE STATEMENT with, 13-29
use of EXECUTE with, 13-13
use of PL/SQL with, 13-30
use of PREPARE with, 13-13
dynamic SQL method 3
commands used with, 13-6
compared to method 2, 13-19
example program, 13-21
requirements for, 13-6
sequence of statements used with, 13-19
use of DECLARE STATEMENT with, 13-29
use of DECLARE with, 13-20
use of FETCH with, 13-21
use of OPEN with, 13-20
use of PL/SQL with, 13-31
use of PREPARE with, 13-19
dynamic SQL method 4
need for descriptors with, 15-5
overview of, 13-26
prerequisites for using, 15-12
requirements for, 13-6
requirements of, 15-2
sample program, 15-41
sequence of statements used with, 13-28, 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-29
use of DESCRIBE in, 13-26
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-31
use of PREPARE statement in, 15-25
use of the SQLDA in, 13-26, 15-5
using host arrays with, 15-38
using the FOR clause with, 13-30, 15-38
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-51
key concepts of, 2-2
mixing with host-language statements, 2-4
OPEN statement, F-92
overview of, 2-2
PREPARE statement, F-96
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-111
UPDATE statement, F-112
using OCI types in, 17-48
using REFs in, 17-47
VAR directive, F-116
when to use, 1-3
WHENEVER directive, F-119
embedded SQL statements
labels for, 9-27
referencing host arrays in, 8-3
referencing host variables in, 4-18
suffixes and prefixes not allowed, 2-10
terminator for, 2-15
use of apostrophes in, 2-11
use of quotation marks in, 2-11
embedding
PL/SQL blocks in precompiler programs, F-51
EMP table, 2-18
ENABLE THREADS SQL statement, F-50
ENABLE THREADS statement, 11-8
enabling
threads, 11-8
encoding scheme (character set or code page), 4-54
enqueues
locking, 3-16
entering options, 5-32, 10-10
equivalencing
host variable equivalencing, F-116
user-defined type equivalencing, F-111
equivalencing of datatypes
datatype equivalencing, 2-7
error detection
error reporting, F-120
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-17
using the sqlglm() function to get, 9-24
where available in SQLCA, 9-17
error reporting
key components of, 9-15
use of error messages in, 9-17
use of parse error offset in, 9-16
use of rows-processed count in, 9-16
use of warning flags in, 9-16
WHENEVER directive, F-120
ERRORS precompiler option, 10-22
ERRTYPE
precompiler option, 10-22
ERRTYPE OTT parameter, 19-34
ERRTYPE precompiler option, 17-24
exception, PL/SQL
definition of, 7-14
EXEC ORACLE DEFINE statement, 5-44
EXEC ORACLE ELSE statement, 2-15, 5-44
EXEC ORACLE ENDIF statement, 2-15, 5-44
EXEC ORACLE IFDEF statement, 2-15, 5-44
EXEC ORACLE IFNDEF statement, 2-15, 5-44
EXEC ORACLE OPTION statement
set option values inline, 10-10
EXEC ORACLE statement
scope of, 10-11
syntax for, 10-10
uses for, 10-11
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-56
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-15
executable SQL statements
grouping of, 2-3
purpose of, 6-6
uses for, 2-3
where allowed, 2-3
EXECUTE ... END-EXEC SQL statement, F-51
EXECUTE DESCRIPTOR statement
SQL statements
EXECUTE DESCRIPTOR, F-55
EXECUTE IMMEDIATE SQL statement, F-57
EXECUTE IMMEDIATE statement, 14-26
AT clause in, 3-11
examples, F-58
use in dynamic SQL method 1, 13-9
EXECUTE optional keyword of ARRAYLEN statement, 7-19
EXECUTE SQL statement, F-53
EXECUTE statement, 14-25
examples, F-52, F-54
use in dynamic SQL method 2, 13-13
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-42
external datatypes
definition of, 2-6
FLOAT, 4-6
INTEGER, 4-6
STRING, 4-6
external procedures, A-5
callbacks, 7-30
calling from PL/SQL, 7-30
creating, 7-32
error-handling, 7-33
restrictions, 7-31

F

F variable in SQLDA
how value is set, 15-11
purpose of, 15-11
FAQs, 1-7
FETCH DESCRIPTOR SQL statement, F-61
FETCH SQL statement, F-58
FETCH statement, 14-28
example of, 6-15
examples, F-60
INTO clause in, 6-15
purpose of, 6-13, 6-15
results of, 6-15
use in dynamic SQL method 3, 13-21
use in dynamic SQL method 4, 15-35
used after OPEN command, F-96
used after OPEN statement, F-93
fetching
rows from cursors, F-58, F-61
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-23
flags
warning flags, 9-16
FLOAT datatype, 4-6
FOR clause
example of using, 8-15
of embedded SQL EXECUTE DESCRIPTOR statement, F-56
of embedded SQL EXECUTE statement, F-54
of embedded SQL INSERT statement, F-69
purpose of, 8-15
requirements for, 8-15
restrictions on, 8-15
using in dynamic SQL method 4, 15-38
using with host arrays, 8-15
when variable negative or zero, 8-15
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-100
forward references
why not allowed, 6-13
FREE SQL statement, 17-7, F-63
free() function, 15-37
example of using, 15-37
freeing
thread context, 11-10, F-29
Frequently Asked Questions, 1-7
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-53, A-3
GOTO action
in the WHENEVER statement, 9-27
of WHENEVER directive, F-120
result of, 9-27
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-33
hints
COST, C-5
for the ORACLE SQL statement optimizer, 6-19
in DELETE statements, F-46
in SELECT statements, F-107
in UPDATE statements, F-115
HOLD_CURSOR
precompiler option
used to improved performance, C-12
what it affects, C-7
HOLD_CURSOR option
of ORACLE Precompilers, F-18
HOLD_CURSOR precompiler option, 10-24
host arrays
advantages of, 8-2
declaring, 8-2
dimensioning, 8-2
in the DELETE statement, 8-13
in the INSERT statement, 8-11
in the SELECT statement, 8-5
in the UPDATE statement, 8-12
in the WHERE clause, 8-16
matching sizes of, 8-3
referencing, 8-2, 8-3
restrictions on, 8-4, 8-10, 8-12, 8-13, 8-14
used as input host variables, 8-3
used as output host variables, 8-3
using in dynamic SQL method 4, 15-38
using in dynamic SQL statements, 13-29
using the FOR clause with, 8-15
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-45
declaring, 4-44
host variables, 6-2
assigning values to, 2-5
declarations, 18-4
declaring, 2-10, 18-4
definition of, 2-5
dummy, 13-3
host variable equivalencing, F-116
in EXECUTE statement, F-54
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-26
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-48
referencing, 4-19
requirements for, 6-4
used with multibyte character strings, 4-57
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-47
in-doubt transaction, 3-27
INITFILE OTT parameter, 19-33
INITFUNC OTT parameter, 19-33
initialization function
calling, 19-24
tasks of, 19-26
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 of no rows
cause of, 9-21
INSERT SQL statement, F-68
examples, F-70
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-11
VALUES clause in, 6-10
inserting
rows into tables and views, F-68
INTEGER datatype, 4-6
interface
native, 5-57
XA, 5-57
internal datatypes
definition of, 2-6
INTERVAL DAY TO SECOND datatype, 4-14
INTERVAL YEAR TO MONTH datatype, 4-14
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-62
of FETCH statement, F-59
of SELECT statement, F-106
used with FETCH instead of SELECT, 6-13
intype file, 19-36
providing when running OTT, 19-8
structure of, 19-36
INTYPE OTT parameter, 19-31
INTYPE precompiler option, 10-28
invalid use
of precompiler preprocessor, 5-33

J

joins
restriction on, 6-20

L

L variable in SQLDA
how value is set, 15-8
purpose of, 15-8
label name
maximum length of, 9-27
Large Objects (LOBs), A-4
LDA, 5-52
remote and multiple connections, 5-53
setup for OCI rel 8, 5-53
lines
continuation, 2-13
maximum length, 2-13
LINES precompiler option, 10-28
link
database link, 3-14
linking, 2-17
on UNIX, 1-9
on VMS, 1-10
two-task, 2-17
Linking in an XA Library, E-3
LNAME precompiler option, 10-29
LNPROC
VMS link script, 1-10
LOB APPEND SQL statement, F-71
LOB APPEND statement, 16-13
LOB ASSIGN SQL statement, F-72
LOB ASSIGN statement, 16-14
LOB CLOSE SQL statement, F-72
LOB CLOSE statement, 16-15
LOB COPY SQL statement, F-73
LOB COPY statement, 16-15
LOB CREATE TEMPORARY SQL statement, F-73
LOB CREATE temporary statement, 16-16
LOB DESCRIBE SQL statement, F-74
LOB DISABLE BUFFERING SQL statement, F-75
LOB DISABLE BUFFERING statement, 16-17
LOB ENABLE BUFFERING SQL statement, F-76
LOB ENABLE BUFFERING statement, 16-18
LOB ERASE SQL statement, F-76
LOB ERASE statement, 16-18
LOB FILE CLOSE ALL SQL statement, F-77
LOB FILE CLOSE ALL statement, 16-19
LOB file close all statement, 16-19
LOB FILE SET SQL statement, F-78
LOB FILE SET statement, 16-20
LOB FLUSH BUFFER SQL statement, F-78
LOB FLUSH BUFFER statement, 16-20
LOB FREE TEMPORARY SQL statement, F-79
LOB FREE TEMPORARY statement, 16-21
LOB LOAD FROM FILE statement, 16-22
LOB LOAD SQL statement, F-79
LOB OPEN SQL statement, F-80
LOB OPEN statement, 16-23
LOB READ SQL statement, F-81
LOB READ statement, 16-24
LOB TRIM SQL statement, F-81
LOB WRITE SQL statement, F-82
LOBs
access methods, 16-5
BFILES, 16-2
buffering system, 16-11
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 transparency
how provided, 3-15
lock
released by ROLLBACK statement, F-101
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-11
LTYPE precompiler option, 10-30
lvalue, 4-15

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-14
MAXLITERAL precompiler option, 10-31
MAXOPENCURSORS
precompiler option
effect on performance, C-10
for multiple cursors, 6-14
specifying for separate precompilation, 2-17
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-18
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-5
of SQL*Forms user exits, 20-14
NATIVE
value of DBMS option, 10-17
native interface, 5-57
navigational access sample program, 17-37
nested tables, 18-2
creation, 18-2
network
communicating over, 3-6
protocols, 3-6
reducing traffic, C-4
NLS parameters, 4-53
NLS_CURRENCY, 4-53
NLS_DATE_FORMAT, 4-53
NLS_DATE_LANGUAGE, 4-53
NLS_ISO_CURRENCY, 4-53
NLS_LANG, 4-54
NLS_LANGUAGE, 4-53
NLS_NUMERIC_CHARACTERS, 4-53
NLS_SORT, 4-53
NLS_TERRITORY, 4-53
NLS_CHAR precompiler option, 10-33
NLS_LOCAL precompiler option, 10-34
node
current, 3-7
definition of, 3-6
NOT FOUND condition
in the WHENEVER statement, 9-26
meaning of, 9-26
of WHENEVER directive, F-120
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-4
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-11, F-83
OBJECT DELETE SQL statement, 17-13, F-84
OBJECT DEREF SQL statement, 17-12, F-85
OBJECT FLUSH SQL statement, F-86
OBJECT FLUSH SQL statements, 17-14
OBJECT GET SQL statement, 17-18, F-87
OBJECT RELEASE SQL statement, F-89
OBJECT SET SQL statement, 17-17, F-90
Object Type Translator (OTT), A-4
command line, 19-6
command line syntax, 19-30
creating types in the database, 19-5
default name mapping, 19-42
outtype file, 19-20
parameters, 19-31 to 19-35
providing an intype file, 19-8
reference, 19-29
restriction, 19-44
using, 19-1, 19-2
using with Pro*C/C++, 19-26
Object Types, A-4
OBJECT UPDATE SQL statement, 17-14, 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-35, 17-23
ocation of the Pro*C/C++ Executable, E-3
OCI applications
using the OTT with, 19-21
OCI calls, 1-8
embedding, 5-52
in an X/A environment, 5-59
OCI onblon() call
not used to connect, 5-52
OCI orlon() call
not used to connect, 5-52
OCI Release 8, 5-47
accessing and manipulating objects, 19-23
embedding in Pro*C/C++, 5-50
interfacing to, 5-48
parameters in the environment handle, 5-48
SQLLIB extensions, 5-47
OCI types
declaring, 17-48
manipulating, 17-48
OCIDate, 17-47
OCINumber, 17-47
OCIRaw, 17-47
OCIString, 17-47
using in embedded SQL, 17-48
OCIDate, 17-47
declaring, 17-48
ocidfn.h, 5-52
OCINumber, 17-47
declaring, 17-48
OCIRaw, 17-47
declaring, 17-48
OCIString, 17-47
declaring, 17-48
ONAME precompiler option, 10-35
OPEN CURSOR statement, 14-27
OPEN DESCRIPTOR SQL statement, F-94
OPEN SQL statement, F-92
OPEN statement, 6-15
dependence on precompiler options, 6-15
effect of, 6-14
example of, 6-14
examples, F-94
purpose of, 6-13, 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-19
in C++, 6-19, 12-4
ORACA, 9-4
example of using, 9-43
using to gather cursor cache statistics, 9-42
ORACA precompiler option, 10-36
ORACAID component, 9-40
Oracle
datatypes, 2-6
Forms Version 4, 20-15
Open Gateway
using the ROWID datatype with, 4-9
Toolset, 20-15
Oracle Call Interface Rel 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-35
OTT parameters
CASE, 19-34
CODE, 19-32
CONFIG, 19-33
ERRTYPE, 19-34
HFILE, 19-33
INITFILE, 19-33
INITFUNC, 19-33
INTYPE, 19-31
OUTTYPE, 19-32
SCHEMA_NAMES, 19-35
USERID, 19-31
where they appear, 19-35
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-36
when running OTT, 19-20
OUTTYPE OTT parameter, 19-32
overhead
reducing, C-2

P

PAGELEN
precompiler option, 10-36
parameter modes, 7-3
PARSE
precompiler option, 10-37, 12-4
parse error offset
how to interpret, 9-16
use in error reporting, 9-16
parsing dynamic statements
PREPARE statement, F-96
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-14, 13-31
naming, 13-14
proper order of, 13-14
use in dynamic SQL statements, 13-3
PL/SQL, 1-4
anonymous block
used to open a cursor variable, 4-32
cursor FOR loop, 7-3
description of, 1-4
difference from SQL, 1-4
executing a block using the AT clause, 3-10
integration with database server, 7-2
main advantage of, 1-4
packages, 7-4
PL/SQL tables, 7-5
procedures and functions, 7-3
RECORD type
cannot be bound to a C struct, 4-46
relationship with SQL, 1-4
setting SQLCA, 9-23
user-defined records, 7-5
PL/SQL blocks
embedded in precompiler programs, F-51
pointer
definition of, 4-51
to cursor variables
restrictions on, 4-31
pointer variables
declaring, 4-51
determining size of referenced value, 4-51
referencing, 4-51
referencing struct members with, 4-51
precedence of precompiler options, 10-4
precision
definition of, 15-17
using sqlprc() to extract, 15-17
when not specified, 15-17
precompilation
conditional, 2-15
separate, 2-16
precompilation unit, 3-2, 10-8
precompiled header files, 5-37, A-2
C++ restrictions, 5-42
CODE option, 5-42
PARSE option, 5-42
precompiler options
alphabetized list, 10-7, 10-12
AUTO_CONNECT, 10-12
case sensitivity, 10-3
CHAR_MAP, 5-2, 10-13, A-3
CLOSE_ON_COMMIT, 6-16, 10-13
CODE, 10-14
COMP_CHARSET, 10-15
CONFIG, 10-16
configuration files, 10-4
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-10
entering on the command line, 10-10
ERRORS, 10-22
ERRTYPE, 10-22
FIPS, 10-23
HEADER, 10-24
HOLD_CURSOR, 10-24, 10-25
INAME, 10-26
INCLUDE, 10-27
INTYPE, 10-28
LINES, 10-28
list of, 10-12
LNAME, 10-29
LTYPE, 10-30
MAXLITERAL, 2-14, 10-31
MAXOPENCURSORS, 10-31
micro and macro, 10-6
MODE, 10-32, 14-12
NLS_CHAR, 10-33
NLS_LOCAL, 10-34
OBJECTS, 10-35
ONAME, 10-35
ORACA, 10-36
PAGELEN, 10-36
PARSE, 10-37
precedence, 10-4
PREFETCH, 10-38
RELEASE_CURSOR, 10-39
scope, 10-7
scope of, 10-8
SELECT_ERROR, 10-40
specifying, 10-10
SQLCHECK, 10-40, 17-24
syntax for, 10-10
SYS_INCLUDE, 10-41
THREADS, 10-42, 11-7
TYPE_CODE, 10-43, 14-12
UNSAFE_NULL, 10-43
USERID, 10-44
using, 10-12 to 10-46
VARCHAR, 10-45
VERSION, 10-46
predefined symbols, 2-15
PREFETCH precompiler option, 6-17, 10-38, A-5
PREPARE SQL statement, F-96
PREPARE statement, 14-23
effect on data definition statements, 13-6
examples, F-98
use in dynamic SQL, 13-13, 13-19
use in dynamic SQL method 4, 15-25
preprocessor
example, 5-45
EXEC ORACLE directives, 5-44
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-3
Globalization Support, 4-54
new database types, 17-48
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-10

Q

queries
association with cursors, 6-13
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-10
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-46
REF (reference to object), 17-2
REFERENCE clause
in TYPE statement, 5-15
reference semantics (ANSI dynamic SQL), 14-8
references to objects (REFs)
declaring, 17-47
using, 17-46
using in embedded SQL, 17-47
referencing
of host arrays, 8-2, 8-3
REFs
declaring, 17-47
using, 17-46
using in embedded SQL, 17-47
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-18
using to improve performance, C-12
RELEASE_CURSOR precompiler option, 10-39
remote database
declaration of, F-37
reserved namespaces, B-4
reserved words and keywords, B-2
resource manager, 5-57
restrictions
on AT clause, 3-11
on Comments, 13-32
on CURRENT OF clause, 6-20
on declaring cursors, 6-14
on FOR clause, 8-15
on host arrays, 8-4, 8-10, 8-12, 8-13, 8-14
on input host variables, 6-2
on NULLs, 6-6
on separate precompilation, 2-17
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-12
in UPDATE, 6-11
returning clauses, 6-12
roll back
to a savepoint, F-103
to the same savepoint multiple times, F-101
ROLLBACK SQL statement, F-99
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-7, 4-42
pseudocolumn, 3-26
using to mimic CURRENT OF, 3-26, 8-28
pseudocolumns, 4-42
universal, 4-7, 4-8, 4-42, A-6
ROWID datatype, 4-7
rows
fetching from cursors, F-58, F-61
inserting into tables and views, F-68
updating, F-112
rows-processed count
in the SQLCA, 9-22
use in error reporting, 9-16
runtime context
establishing, 5-47
terminating, 5-47
runtime type checking, 17-24

S

S variable in SQLDA
how value is set, 15-11
purpose of, 15-11
sample database tables
DEPT table, 2-18
EMP table, 2-18
sample object type code, 17-37
sample programs
ansidyn1.pc, 14-31
ansidyn2.pc, 14-39
calldemo.sql, with sample9.pc, 7-25
coldemo1.pc, 18-24
cppdemo1.pc, 12-6
cppdemo2.pc, 12-10
cppdemo3.pc, 12-13
cursor variable demos, 4-37
cv_demo.pc, 4-37
cv_demo.sql, 4-37
extp1.pc, 7-33
how to precompile, 2-19
lobdemo1.pc, 16-37
navdemo1.pc, 17-37
oraca.pc, 9-43
sample10.pc, 15-41
sample11.pc, 4-37
sample12.pc, 15-40
sample1.pc, 2-19
sample2.pc, 4-48
sample3.pc, 8-8
sample4.pc, 5-16
sample5.pc, 20-10
sample6.pc, 13-9
sample7.pc, 13-15
sample8.pc, 13-21
sample9.pc, 7-25
sqlvcp.pc, 4-26
SAVEPOINT SQL statement, F-103
SAVEPOINT statement, F-103
example of, 3-19
examples, F-103
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-118
scale
definition of, 15-17, F-118
using sqlprc() to extract, 15-17
when negative, 15-17, F-118
SCHEMA_NAMES OTT parameter, 19-35
usage, 19-40
scope
of a cursor variable, 4-31
of DECLARE STATEMENT directive, F-40
of precompiler options, 10-8
of the EXEC ORACLE statement, 10-11
of WHENEVER statement, 9-30
search condition
definition of, 6-11
in the WHERE clause, 6-11
select descriptor, 13-26, 15-5
definition of, 13-26
information in, 13-27
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-107
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-40
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-17
restrictions on, 2-17
specifying MAXOPENCURSORS for, 2-17
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-11
purpose of, 6-11
use of subqueries in, 6-11
SET DESCRIPTOR statement, 14-19, F-107
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-3
Embedded SQL, 1-3
nature of, 1-3
need for, 1-3
SQL Communications Area, 9-3
SQLCA, 9-17
SQL Descriptor Area
SQLDA, 13-26, 15-5
SQL directives
CONTEXT USE, 11-8, F-33
DECLARE DATABASE, F-37
DECLARE STATEMENT, F-39
DECLARE TABLE, F-40
DECLARE TYPE, F-42
TYPE, F-111
VAR, F-116
WHENEVER, F-119
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-7
CONNECT, F-26
CONTEXT ALLOCATE, F-28
CONTEXT FREE, F-29
CONTEXT OBJECT OPTION GET, F-30
CONTEXT OBJECT OPTION SET, F-32
DEALLOCATE DESCRIPTOR, F-34
DELETE, F-43
DESCRIBE, F-47
DESCRIBE DESCRIPTOR, F-49
ENABLE THREADS, F-50
executable versus directive, 2-3
EXECUTE, F-53
EXECUTE ... END-EXEC, F-51
EXECUTE IMMEDIATE, F-57
FETCH, F-58
FETCH DESCRIPTOR, F-61
for defining and controlling transactions, 3-16
for manipulating a cursor, 6-8, 6-12
for manipulating ORACLE data, 6-7
for querying Oracle data, 6-7
FREE, F-63
INSERT, F-68
LOB APPEND, F-71
LOB ASSIGN, F-72
LOB CLOSE, F-72
LOB COPY, F-73
LOB CREATE, F-73
LOB DESCRIBE, F-74
LOB DISABLE BUFFERING, F-75
LOB ENABLE BUFFERING, F-76
LOB ERASE, F-76
LOB FILE CLOSE, F-77
LOB FILE SET, F-78
LOB FLUSH BUFFER, F-78
LOB FREE TEMPORARY, F-79
LOB LOAD, F-79
LOB OPEN, F-80
LOB READ, F-81
LOB TRIM, F-81
LOB WRITE, F-82
OBJECT CREATE, F-83
OBJECT DELETE, F-84
OBJECT DEREF, F-85
OBJECT FLUSH, F-86
OBJECT GET, F-87
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-96
REGISTER CONNECT, F-98
ROLLBACK, F-99
rules for executing, C-5
SAVEPOINT, F-103
SELECT, F-104
SET DESCRIPTOR, F-107
summary of, F-5
types of, 2-3
UPDATE, F-112
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-3
using to test SELECT statements, 6-9
versus embedded SQL, 1-3
SQL, dynamic, 2-5
SQL_CURSOR, F-12
SQL_SINGLE_RCTX
defined constant, 5-54
definition of, 5-49
sqlald() function
example of using, 15-22
purpose of, 15-6
syntax for, 15-6
sqlaldt() function
see SQLSQLDAAlloc, 5-55
SQLCA, 9-3, 9-15
components in, 9-20
components set for a PL/SQL block, 9-23
declaring, 9-17
description of, 9-17
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
sqlcode component in, 9-21
sqlerrd, 9-22
sqlerrd[2] component in, 9-22
sqlerrmc component in, 9-21
sqlerrml component in, 9-21
sqlwarn, 9-23
use in separate precompilations, 2-17
using more than one, 9-17
using with SQL*Net, 9-17
sqlca.h
listing of, 9-18
use of SQLCA_STORAGE_CLASS with, 2-17
SQLCAID component, 9-20
SQLCDAFromResultSetCursor(), 5-55
SQLCDAGetCurrent, 5-55
sqlcdat()
see SQLCDAFromResultSetCursor(), 5-55
SQLCHECK option
restrictions on, D-2
usage notes for, 10-41
what it affects, D-3
SQLCHECK precompiler option, 10-40, 17-24, D-4, D-5
SQLCHECK support for objects, 17-24
sqlclu() function
example of using, 15-37
purpose of, 15-37
syntax for, 15-37
sqlclut() function
see SQLSQLDAFree(), 5-55
SQLCODE
with MODE=ANSI, 10-33
sqlcode
component in SQLCA, 9-4, 9-15
interpreting values of, 9-21
SQLCODE status variable
declaring, 9-14
when declared with the SQLCA, 9-15
when used, 9-15
sqlcpr.h, 9-24
sqlcurt() function
see SQLDAToResultSetCursor(), 5-55
SQLDA
bind versus select, 13-27
C variable in, 15-11
definition of, 13-27
F variable in, 15-11
I variable in, 15-10
information stored in, 13-27
L variable in, 15-8
M variable in, 15-11
N variable in, 15-7
purpose of, 13-26
S variable in, 15-11
struct, contents of, 15-5
structure of, 15-7
T variable in, 15-9
use in dynamic SQL method 4, 15-5
V variable in, 15-8
X variable in, 15-12
Y variable in, 15-12
Z variable in, 15-12
sqlda.h, 15-3
SQLDAToResultSetCursor(), 5-55
SQLEnvGet function in SQLLIB, 5-49
SQLEnvGet(), 5-56
sqlerrd
component, 9-16, 9-22
sqlerrd[2] component, 9-16, 9-22
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-120
SQLERROR condition
in the WHENEVER statement, 9-26
meaning of, 9-26
SQLErrorGetText(), 5-55
SQLExtProcError(), 5-56, 7-33
sqlglm(), 9-24
sqlglm() function, 9-24
example of using, 9-24
parameters of, 9-24
sqlglmt()
see SQLErrorGetText, 5-55
sqlgls() function, 9-33
example of use, 4-26
sample program for, 9-36
see SQLLIB
function SQLStmGetText, 4-26
sqlglst() function
see SQLStmtGetText, 5-55
SQLIEM function
in user exits, 20-8
purpose of, 20-8
syntax for, 20-8
sqlld2() function, 5-59
sqlld2t() function
see SQLLDAGetName, 5-55
SQLLDAGetName, 5-55
sqlldat() function
see SQLCDAGetCurrent, 5-55
SQLLIB
and embedded SQL, 2-4
extensions for OCI interoperability, 5-47
function
SQLCDAFromResultSetCursor, 5-55
function SQLCDAGetCurrent, 5-55
function SQLColumnNullCheck, 5-55
function SQLDAFree, 5-55
function SQLDAToResultSetCursor, 5-55
function SQLEnvGet, 5-49, 5-56
function SQLErrorGetText, 5-55
function SQLExtProcError, 5-56, 7-33
function SQLLDAGetName, 5-55
function SQLNumberPrecV6, 5-55
function SQLNumberPrecV7, 5-56
function SQLRowidGet, 5-56
function SQLStmtGetText(), 5-55
function SQLSvcCtxGet, 5-50, 5-56
function SQLVarcharGetLength, 4-25
new names for functions, A-3
new names for public functions, 5-54
SQLLIB function
SQLSQLDAAlloc, 5-55
SQLVarcharGetLength, 5-56
sqlnul() function
example of using, 15-19
purpose of, 15-18
syntax for, 15-18
use of with T variable, 15-10
sqlnult() function
see SQLColumnNullCheck(), 5-55
SQLNumberPrecV6, 5-55
SQLNumberPrecV7, 5-56
sqlpr2() function, 15-18
sqlpr2t() function
see SQLNumberPrecV7, 5-56
sqlprc() function, 15-16, 15-17
sqlprct() function
see SQLNumberPrecV6, 5-55
SQLRowidGet(), 5-56
SQLSQLDAAlloc, 5-55
SQLSQLDAFree(), 5-55
SQLSTATE
class codes, 9-5
declaring, 9-5
mapping to Oracle errors, 9-7
status codes, 9-7
status variable, 9-3, 9-4
using, 9-14
values, 9-5
with MODE=ANSI, 10-33
SQLStmtGetText, 5-55
SQLSvcCtxGet function in SQLLIB, 5-50
SQLSvcCtxGet(), 5-56
SQLVarcharGetLength, 5-56
sqlvcp() function, see SQLLIB
function SQLVarcharGetLength, 4-25
sqlvcpt() function
see SQLVarcharGetLength, 5-56
sqlwarn
flag, 9-23
SQLWARNING
WHENEVER directive condition, F-120
SQLWARNING condition
in the WHENEVER statement, 9-26
meaning of, 9-26
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-3
STOP action
in the WHENEVER statement, 9-27
of WHENEVER directive, F-120
result of, 9-27
stored procedures
program example, 7-25
stored subprograms
calling, 7-24
creating, 7-22
packaged versus standalone, 7-22
stored versus inline, 7-21
STRING datatype, 4-6
string host variables
declaring, 5-8
Struct Component Alignment, E-2
structs
array of, 8-17, A-2
as host variables, 4-44
C, using, 17-45
for collection object types, 18-4
generating C structs for a REF, 17-46
pointers as host variables, 4-52
structs (structures)
cannot be nested, 4-46
structures (structs)
nesting not permitted for host, 4-46
subqueries
definition of, 6-10
example of, 6-10, 6-11
uses for, 6-10
using in the SET clause, 6-11
using in the VALUES clause, 6-10
symbols
definig, 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-41
SYSDBA/SYSOPER Privileges, A-6
System Configuration File, E-3
system configuration file, 10-5
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-9, 2-18, 3-7, 5-32, 5-59, 20-1
system-specific reference, 4-6, 10-3, 10-4, 10-27, 10-42

T

T variable in SQLDA
how value is set, 15-9
purpose of, 15-9
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-68
nested, 18-2
updating rows in, F-112
terminal
encoding scheme, 4-54
termination, program
normal versus abnormal, 3-23
THREADS
precompiler option, 10-42, 11-7
threads, F-28
allocating context, 11-8, F-28
enabling, 11-8, F-50
freeing context, 11-10, F-29
use context, 11-8
TIMESTAMP datatype, 4-12
TIMESTAMP WITH LOCAL TIME ZONEdatatype, 4-13
TIMESTAMP WITH TIME ZONEdatatype, 4-13
TO clause
of ROLLBACK statement, F-100
TO SAVEPOINT clause
in ROLLBACK statement, 3-20
purpose of, 3-20
restriction on, 3-21
Toolset
Oracle, 20-15
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-57
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-99
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-35
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-24
TYPE directive
examples, F-112
type inheritance, 17-3
example, 17-27
IS OF type operator, 17-3
example, 17-3
TREAT operator, 17-3
example, 17-3, 17-4
TYPE SQL directive, F-111
TYPE_CODE
precompiler option, 10-43

U

undo a transaction, F-99
Unicode character set, 5-9
Unicode variables, A-5
unions
cannot be nested in host structures, 4-46
not permitted as host structures, 4-46
universal ROWID, 4-8, 4-42, A-6
UNIX
linking a Pro*C application under, 1-9
UNSAFE_NULL precompiler option, 10-43
UNSIGNED datatype, 4-10
UPDATE CASCADE, 9-22
UPDATE SQL statement, F-112
UPDATE statement
embedded SQL examples, F-116
example of, 6-10
purpose of, 6-10
SET clause in, 6-11
using host arrays in, 8-12
WHERE clause in, 6-10
updating
rows in tables and views, F-112
use
thread context, 11-8, F-33
user configuration file
to set precompiler options, 10-5
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-14
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-111
USERID option
when required, 10-44
USERID OTT parameter, 19-31
USERID precompiler option, 10-44
using with the SQLCHECK option, D-4
usernames
defining, 3-2
using C structures, 17-45
USING clause
in CONNECT statement, 3-9
in the EXECUTE statement, 13-14
of FETCH statement, F-59
of OPEN statement, F-93
purpose of, 13-14
using indicator variables in, 13-15
using collection types, 17-46
using dbstring
Net8 database id specification, F-27
Using REFs in Embedded SQL, 17-47

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-70
of INSERT statement, F-70
purpose of, 6-10
requirements for, 6-10
use of subqueries in, 6-10
VAR directive
examples, F-119
VAR SQL directive, F-116
VAR statement
syntax for, 5-13, 5-14
VARCHAR
arrays of, 8-2
VARCHAR datatype, 4-7
VARCHAR precompiler option, 10-45
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-46, 17-22
views
inserting rows into, F-68
updating rows in, F-112
VMS
linking a precompiler application, 1-10

W

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

X

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

Y

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

Z

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

Go to previous page
Oracle
Copyright © 1996-2001, 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