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