Tải bản đầy đủ (.pdf) (50 trang)

Tài liệu Oracle PLSQL Language- P3 pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (736.55 KB, 50 trang )

routines can now call the JSP as if it were another PL/SQL module.
1.19.1 Example
Let's write a simple "Hello, World" JSP that will accept an argument:
package oreilly.plsquick.demos;
public class Hello {
public static String sayIt (String toWhom) {
return "Hello, " + toWhom + "!";
}
}
Saved in a file called Hello.java, we can load the source code directly into Oracle. Doing so will
automatically compile the code. A simple form of the loadjava command:
loadjava -user scott/tiger -oci8 oreilly/plsquick/
demos/Hello.java
The Hello.java file follows the Java file placement convention for packages and so exists in a
subdirectory named oreilly/plsquick/demos.
Now we can fire up our favorite SQL interpreter, connect as SCOTT/TIGER, and create the call spec
for the Hello.sayIt( ) method:
CREATE FUNCTION hello_there (to_whom IN VARCHAR2)
RETURN VARCHAR2
AS LANGUAGE JAVA
NAME 'oreilly.plsquick.demos.Hello.sayIt
(java.lang.String) return java.lang.String';
/
Now we can call our function very easily:
BEGIN
DBMS_OUTPUT.PUT_LINE(hello_there('world'));
END;
/
And we get:
Hello, world!
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.


as the expected output.
1.19.2 Publishing Java to PL/SQL
To write a call spec, use the AS LANGUAGE JAVA clause in a CREATE statement. The syntax for
this clause is:
{ IS | AS } LANGUAGE JAVA
NAME 'method_fullname [ (type_fullname,... ]
[ return type_fullname ]'
method_fullname is the package-qualified name of the Java class and method. It is case-sensitive and
uses dots to separate parts of the package full name. type_fullname is the package-qualified name of
the Java datatype.
Notice that a simple string, not an SQL name, follows the NAME keyword.
Type mapping follows most JDBC rules regarding the legal mapping of SQL types to Java types.
Oracle extensions exist for Oracle-specific datatypes.
Most datatype mappings are relatively straightforward, but passing Oracle8 objects of a user-defined
type is harder than one would think. Oracle provides a JPublisher tool that generates the Java required
to encapsulate an Oracle8 object and its corresponding REF. Refer to Oracle's JPublisher
documentation for guidelines on usage.
The AS LANGUAGE JAVA clause is the same whether you are using Java as a standalone JSP, the
implementation of a packaged program, or the body of an object type method. For example, here is
the complete syntax for creating JSPs as PL/SQL-callable functions or procedures:
CREATE [OR REPLACE]
{ PROCEDURE procedure_name [(param[, param]...)]
| FUNCTION function_name [(param[, param]...)]
RETURN sql_type
}
[AUTHID {DEFINER | CURRENT_USER}]
[PARALLEL_ENABLE]
[DETERMINISTIC]
{ IS | AS } LANGUAGE JAVA
NAME 'method_fullname [ (type_fullname,... ]

[ return type_fullname ]'
When using Java as the implementation of a packaged procedure or function, Oracle allows you to
place the Java call spec in either the package specification (where the call spec substitutes for the
subprogram specification) or in the package body (where the call spec substitutes for the subprogram
body).
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
Similarly, when using JSPs in object type methods, the Java call spec can substitute for either the
object type method specification or its body.
Note that Java functions typically map to PL/SQL functions, but Java functions declared void map to
PL/SQL procedures. Also, you will quickly learn that mistakes in mapping PL/SQL parameters to
Java parameters become evident only at runtime.
1.19.3 Data Dictionary
To learn what Java library units are available in your schema, look in the USER_OBJECTS data
dictionary view where the object_type is like `JAVA%'. If you see a Java class with INVALID status,
it has not yet been successfully resolved. Note that the names of the Java source library units need not
match the names of the classes they produce.
As of press time, there is no apparent way to discover which stored programs are implemented as
Java stored procedures. You can look in the USER_SOURCE view for named programs that contain
the source text `AS LANGUAGE JAVA', but that may not yield accurate results. The
USER_DEPENDENCIES view does not track the relationship between PL/SQL cover programs and
their underlying Java class.
Even if you have loaded the Java source code into the database, there is no supported way of
retrieving the source from the data dictionary.
Previous: 1.18 External
Procedures
Oracle PL/SQL Language
Pocket Reference

1.18 External Procedures
The Oracle Library

Navigation

Copyright (c) 2000 O'Reilly & Associates. All rights reserved.
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
By Steven Feuerstein & Bill Pribyl; ISBN 1-56592-335-9E
Second Edition, published September 1997.
(See the
catalog page for this book.)
Search the text of Oracle PL/SQL Programming, 2nd Edition.
Index
Symbols | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | Y | Z
Table of Contents
Dedication
Foreword
Preface
Part I: Programming in PL/SQL
Chapter 1: Introduction to PL/SQL
Chapter 2: PL/SQL Language Fundamentals
Chapter 3: Effective Coding Style
Part II: PL/SQL Language Elements
Chapter 4: Variables and Program Data
Chapter 5: Conditional and Sequential Control
Chapter 6: Database Interaction and Cursors
Chapter 7: Loops
Chapter 8: Exception Handlers
Chapter 9: Records in PL/SQL
Chapter 10: PL/SQL Tables
Part III: Built-In Functions
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
Chapter 11: Character Functions

Chapter 12: Date Functions
Chapter 13: Numeric, LOB, and Miscellaneous Functions
Chapter 14: Conversion Functions
Part IV: Modular Code
Chapter 15: Procedures and Functions
Chapter 16: Packages
Chapter 17: Calling PL/SQL Functions in SQL
Part V: New PL/SQL8 Features
Chapter 18: Object Types
Chapter 19: Nested Tables and VARRAYs
Chapter 20: Object Views
Chapter 21: External Procedures
Part VI: Making PL/SQL Programs Work
Chapter 22: Code Design Tips
Chapter 23: Managing Code in the Database
Chapter 24: Debugging PL/SQL
Chapter 25: Tuning PL/SQL Applications
Chapter 26: Tracing PL/SQL Execution
Part VII: Appendixes
Appendix A: What's on the Companion Disk?
Appendix B: Calling Stored Procedures from PL/SQL Version 1.1
Appendix C: Built-In Packages
The Oracle PL/SQL CD
Bookshelf Navigation

Copyright © 2000 O'Reilly & Associates. All Rights Reserved.
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
Full Text Search
If you are having difficulty searching, or if you have not used this search utility before, please read
this.

The Oracle PL/SQL CD
Bookshelf Navigation

Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
Symbols | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | Y | Z

Index: Symbols and Numbers
\:= (assignment) operator
2.1. The PL/SQL Character Set
4.4.3. Default Values
9.5. Assigning Values to and from Records
-- (comment indicator) :
2.5.1. Single-Line Comment Syntax
> (label delimeters) :
5.2.1. The GOTO Statement
' (quotation mark)
2.3.1. Embedding Single Quotes Inside a String
11.1.10. The REPLACE function
; (semicolon) :
2.4. The Semicolon Delimiter
/* and */ (comment block delimiters) :
2.5.2. Multiline Comment Syntax
|| (concatenation) operator
4.3.3. Function Results with NULL Arguments
11.1.3. The CONCAT function
Symbols | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | Y | Z

The Oracle Library
Navigation


Copyright (c) 2000 O'Reilly & Associates. All rights reserved.
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
Symbols | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | Y | Z

Index: A
ABS function : 13.1.1. The ABS function
absolute value :
13.1.1. The ABS function
abstract data types : (see
ADTs)
abstraction :
18.1.5.3. Abstraction
access
to compiled code, tuning :
25.2. Tuning Access to Compiled Code
to data, tuning :
25.3. Tuning Access to Your Data
data structure, encapsulating :
1.7.2. Synchronize Program and Data Structures
to SQL, minimizing :
25.3.1. Use Package Data to Minimize SQL Access
ACCESS table, tuning :
25.2.3. Tune ACCESS$ Table to Reduce First Execution Time of Code
actual parameters :
15.6.3. Actual and Formal Parameters
Ada programming language :
Preface
ADD_MONTHS function :
12.1.1. The ADD_MONTHS function
customizing :

12.2.1. Customizing the Behavior of ADD_MONTHS
adding collection elements :
19.4.3. Adding and Removing Elements
administration of Oracle databases :
About the Contents
administration, Oracle/AQ :
C.3.2. DBMS_AQADM (PL/SQL 8 Only)
ADTs (abstract datatypes)
(see also
object types)
18.1.4.2. Classification
building :
22.6. Construct Abstract Data Types (ADTs)
advanced queuing :
1.4.7.2. Oracle/AQ, the Advanced Queueing Facility
ADVISE_COMMIT procedure :
C.15.1. The ADVISE_COMMIT procedure
ADVISE_NOTHING procedure :
C.15.2. The ADVISE_NOTHING procedure
ADVISE_ROLLBACK procedure :
C.15.3. The ADVISE_ROLLBACK procedure
aggregate
assignment into rows :
10.6.3. Aggregate Assignment
operations
9.1.3.2. Aggregate operations
9.5.4. Aggregate Assignment
9.6.1.2. Records of the same type
of nested records :
9.7.3. Aggregate Assignments of Nested Records

Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
values, combining with scalars : 17.8.2. Combining Scalar and Aggregate Values
aggregation :
18.1.4.3. Inheritance
alerts : (see
DBMS_ALERT package)
algorithms, tuning :
25.4. Tuning Your Algorithms
aliases
column
6.7. Column Aliases in Cursors
9.3.2. Setting the Record's Column Names
directory :
13.2.1. The BFILENAME function
for cursor variables :
6.12.6.3. Cursor variable aliases
alignment of code : (see
coding, layout of)
ALLOCATE_UNIQUE procedure :
C.7.1. The ALLOCATE_UNIQUE procedure
ALTER SESSION command :
26.1.1. Enabling Program Units for Tracing
ALTER TABLE statement :
20.6. Schema Evolution
ALTER_COMPILE procedure :
C.4.1. The ALTER_COMPILE procedure
ALTER_QUEUE procedure :
C.3.2.4. The ALTER_QUEUE procedure
ANALYZE statement :
25.1. Analyzing Program Performance

ANALYZE_OBJECT procedure :
C.4.2. The ANALYZE_OBJECT procedure
ANALYZE_SCHEMA procedure :
C.16.1. The ANALYZE_SCHEMA procedure
anchored datatypes
1.6.1. Anchored declarations
4.5. Anchored Declarations
anchoring to subtypes :
4.6.3. Emulating Constrained Subtypes
angle brackets (>) as label delimiters :
5.2.1. The GOTO Statement
anonymous blocks :
15.3. The Anonymous PL/SQL Block
labels for :
15.3.6. Block Labels
nested :
15.3.4. Nested Blocks
in Oracle Tools :
15.3.3. Anonymous Blocks in the Oracle Tools
APPEND procedure :
C.6.1. The APPEND procedure
applications, tuning :
25. Tuning PL/SQL Applications
access to compiled code :
25.2. Tuning Access to Compiled Code
access to data :
25.3. Tuning Access to Your Data
analyzing performance :
25.1. Analyzing Program Performance
optimizing algorithms :

25.4. Tuning Your Algorithms
AQ : (see
advanced queuing)
arguments, trapping invalid :
22.2.4.1. Trap invalid argument values
arrays
(see also
tables)
1.4.3.4. PL/SQL tables
building with tables :
10.9.4. Building Traditional Arrays with PL/SQL Tables
package for
(see also
PSG_array package)
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
10.9.4.3. Features of the array package
variable arrays :
1.4.7.3. Variable arrays and nested tables
objects for :
18.1.2. Some Simple Examples
variable-size : (see
VARRAYs)
ASCII function :
11.1.1. The ASCII function
assertion modules :
22.2.4. Use Assertion Modules to Validate Parameters and Assumptions
assigning objects :
18.4.1.2. Direct assignment
assignment (\:=) operator
2.1. The PL/SQL Character Set

4.4.3. Default Values
9.5. Assigning Values to and from Records
association operator for positional notation (=>) :
2.1. The PL/SQL Character Set
association, object :
18.1.4.3. Inheritance
atomics of PL/SQL language :
2.1. The PL/SQL Character Set
attributes, cursor
6.9. Cursor Attributes
6.12.2. Similarities to Static Cursors
attributes, object :
18.1.1. Terminology
collections as :
19.2.1.2. Collection as an attribute of an object type
dot notation for
18.3.4.1. Dots in data structures
18.3.4.3. Attribute or method?
object equality and :
18.3.6.2. Equality comparisons
authority, execute/run : (see
execute authority)
Symbols | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | Y | Z

The Oracle Library
Navigation

Copyright (c) 2000 O'Reilly & Associates. All rights reserved.
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
Symbols | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | Y | Z


Index: B
backups : 24.2.6. Document and Back Up Your Efforts
batch processing :
25.3.4. Take Advantage of DBMS_SQL Batch Processing
encrypting code and :
23.7.2. Working with Encrypted Code
BEGIN_DISCRETE_TRANSACTION procedure :
C.15.14. The
BEGIN_DISCRETE_TRANSACTION procedure
BFILE datatype
1.4.7.6. Large object support
4.2.7.7. Working with BFILEs
example of using :
20.8. Postscript: Using the BFILE Datatype
BFILENAME function
4.2.7.7. Working with BFILEs
13.2.1. The BFILENAME function
binary data : (see
RAW datatype)
BINARY_INTEGER datatype
4.2.1.1. Binary integer datatypes
25.4.5. Use PLS_INTEGER for All Integer Operations
for table declaration :
10.4.1. Defining the Table TYPE
BIND_ARRAY program :
25.3.4. Take Advantage of DBMS_SQL Batch Processing
BIND_VARIABLE procedure :
C.14.2. The BIND_VARIABLE procedure
blended access :

10.9.5.6. Performance impact of blended access
BLOB datatype
1.4.7.6. Large object support
4.2.7.2. The BLOB datatype
EMPTY_BLOB function :
13.2.2. The EMPTY_BLOB function
block comments :
2.5.2. Multiline Comment Syntax
blocks
(see also
modules)
2.7. Block Structure
15. Procedures and Functions
anonymous :
15.3. The Anonymous PL/SQL Block
constructing :
15.2.1. Sequence of Section Construction
cursors in :
15.3.5.4. Cursor scope
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
labels for : 15.3.6. Block Labels
local :
15.7. Local Modules
nested
15.3.4. Nested Blocks
15.3.5.2. Scope and nested blocks
parameters of :
15.6. Parameters
Booch diagram :
16.2.4. Public and Private Package Elements

Boolean
datatype :
4.2.4. The Boolean Datatype
functions returning :
15.5.4.1. Functions without parameters
literals :
2.3.3. Boolean Literals
as parameters :
22.7.2. Use Self-Identifying Parameters (Avoid Boolean Values)
variables in IF statements : (see
IF statements)
branching with exceptions :
1.7.5. Structured Code and Other Best Practices
BROKEN procedure :
C.5.1. The BROKEN procedure
built-in
collection methods :
19.6. Collection Built-Ins
functionality, taking advantage of :
1.7.1. Write as Little Code as Possible
package, reference on :
C. Built-In Packages
Symbols | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | Y | Z

The Oracle Library
Navigation

Copyright (c) 2000 O'Reilly & Associates. All rights reserved.
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
Symbols | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | Y | Z


Index: C
calendar : (see date)
case
consistency of :
22.7.4. Ensure Case Consistency of Parameters
INITCAP function :
11.1.4. The INITCAP function
LOWER function :
11.1.7. The LOWER function
and readability :
3.1.2. Using Case to Aid Readability
sensitivity
2.1. The PL/SQL Character Set
2.3. Literals
UPPER function :
11.1.16. The UPPER function
CAST procedure
object views and :
20.1. Example: Using Object Views
CAST pseudo-function :
19.5.2. The CAST Pseudo-function
casting collections :
19.5.2.1. Casting a named collection
CDE : (see
Cooperative Development Environment)
CEIL (ceiling) function :
13.1.6. The CEIL function
century : (see
date)

CHANGE procedure :
C.5.2. The CHANGE procedure
CHAR datatype
2.3. Literals
4.2.3.1. The CHAR datatype
converting to VARCHAR2 :
4.2.3.2. The VARCHAR2 and VARCHAR datatypes
converting to/from ROWID
14.2.1. The CHARTOROWID function
14.2.5. The ROWIDTOCHAR function
with LENGTH function :
11.1.6. The LENGTH function
character datatypes, in overloaded modules :
15.8.4. Restrictions on Overloading
character functions :
11. Character Functions
character sets :
14.2.2. The CONVERT function
characters
adding to strings :
11.1.11. The RPAD function
converting to numbers, package for :
17.8.7. Recursive Processing in a SQL Statement
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
datatypes for : 4.2.3. Character Datatypes
extracting from strings :
11.1.14. The SUBSTR function
NLS datatypes for :
4.2.6. NLS Character Datatypes
replacing in strings

11.1.10. The REPLACE function
11.1.15. The TRANSLATE function
stripping from strings
11.1.12. The RTRIM function
11.1.9. The LTRIM function
word wrap :
11.2.2. Implementing Word Wrap for Long Text
CHARSETFORM property :
21.4.3.4. CHARSETID and CHARSETFORM properties
CHARSETID property :
21.4.3.4. CHARSETID and CHARSETFORM properties
CHARTOROWID function :
14.2.1. The CHARTOROWID function
checking for NULL values :
4.3.2. Checking for NULL Values
child block : (see
nested blocks)
child records : (see
records)
CHR function :
11.1.2. The CHR function
class instances :
18.1.4.2. Classification
classes : (see
object types)
classification of objects :
18.1.4.2. Classification
clearing tables :
10.7. Clearing the PL/SQL Table
client-side SQL :

25.3.3. Avoid Client-Side SQL
CLOB datatype
1.4.7.6. Large object support
4.2.7.3. The CLOB datatype
EMPTY_CLOB function :
13.2.3. The EMPTY_CLOB function
clock : (see
time)
CLOSE statement
(see also
cursors)
6.2.2. Cursor Operations
6.8. Closing Cursors
CLOSE_CURSOR procedure :
C.14.3. The CLOSE_CURSOR procedure
CLOSE_DATABASE_LINK procedure :
C.12.1. The CLOSE_DATABASE_LINK procedure
closing cursors :
6.8. Closing Cursors
code
compiled, tuning access to :
25.2. Tuning Access to Compiled Code
critical, pinning into SGA :
25.2.2. Pin Critical Code into the SGA
encrypting :
23.7. Encrypting Stored Code
memory-based architecture :
23.1.3. Memory-Based Architecture of PL/SQL Code
procedural, avoiding :
25.3.5. Avoid Procedural Code When Possible

repetetive : (see
redundancy)
reusing :
1.7.1. Write as Little Code as Possible
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
shared, executing : 23.1. Executing Stored Code
structuring of :
1.7.5. Structured Code and Other Best Practices
style of :
1.7.4. Standardize Your PL/SQL Development Environment
testing :
24.2.5. Change and Test One Area of Code at a Time
coding :
1.2. The Concept of Programming in Oracle Applications
analyzing size of :
23.6.3. Analyzing the Size of PL/SQL Code
anticipating errors : (see
exceptions)
avoiding repetitive :
22.3. Take Full Advantage of Local Modularization
comments in : (see
comments)
considering parameter case :
22.7.4. Ensure Case Consistency of Parameters
creating independent modules :
22.5. Create Independent Modules
cross-referencing source code :
23.6.5. Cross-Referencing Source Code
in databases :
23. Managing Code in the Database

documenting :
24.2.6. Document and Back Up Your Efforts
errors : (see
errors; exceptions)
finding strings in :
23.6.4. Displaying and Searching Source Code
hints for effective
1.5. Advice for Oracle Programmers
3. Effective Coding Style
4.2.8.3. Drawbacks of implicit conversions
22. Code Design Tips
commenting :
3.6. Using Comments Effectively
exception handling :
8.10. RAISE Nothing but Exceptions
IF statements :
5.1.4. Nested IF Statements
loops :
7.7. Tips for PL/SQL Loops
nested records :
9.7.1. Example of Nested Records
parameters :
22.7. Tips for Parameter Design
records :
9.1.3.3. Leaner, cleaner code
increasing readability of code :
5.2.2.1. Improving the readability of your program
layout of :
3.1. Fundamentals of Effective Layout
recursive processing :

17.8.7. Recursive Processing in a SQL Statement
removing unused variables :
4.7.6. Remove Unused Variables from Programs
sequential processing :
17.8.6. Sequential Processing Against a Column's Value
simplifying logic with variables :
4.7.9. Use Variables to Hide Complex Logic
testing programs :
2.5.2. Multiline Comment Syntax
collections
adding/removing elements from :
19.4.3. Adding and Removing Elements
built-in methods for :
19.6. Collection Built-Ins
casting :
19.5.2.1. Casting a named collection
choosing which kind to use :
19.9. Which Collection Type Should I Use?
collection variables
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
19.2.2.1. Collection variables
19.4.1. Initializing Collection Variables
comparing :
19.4.4. Comparing Collections
creating :
19.2. Creating the New Collections
data dictionary entries for :
19.8.2. Data Dictionary
declaring as datatype :
19.2.2. Collections in PL/SQL

index-by tables : (see
index-by tables)
nested tables : (see
nested tables)
passing arguments of :
19.8.3. Call by Reference or Call by Value
PL/SQL-to-server integration example :
19.7. Example: PL/SQL-to-Server Integration
privileges :
19.8.1. Privileges
pseudo-functions :
19.5. Collection Pseudo-Functions
types of :
19.1. Types of Collections
VARRAYs : (see
VARRAYs)
COLUMN_VALUE procedure :
C.14.4. The COLUMN_VALUE procedure
columns
(see also
records)
9.1.1. Different Types of Records
abbreviations for :
3.2. Formatting SQL Statements
aliases for
3.2. Formatting SQL Statements
6.7. Column Aliases in Cursors
9.3.2. Setting the Record's Column Names
BFILE, initializing :
13.2.1. The BFILENAME function

choosing for cursor-based record :
9.3.1. Choosing Columns for a Cursor Record
collections as :
19.2.1.1. Collection as a "column" in a conventional table
collections as datatypes for :
19.1. Types of Collections
names for :
1.7.5. Structured Code and Other Best Practices
naming procedure :
17.6. Column/Function Name Precedence
objects for :
18.1.2. Some Simple Examples
VALUE operator with :
18.4.2.3. VALUE
partial values of :
17.8.5. GROUP BY Partial Column Values
represented by variables :
4.7.7. Use %TYPE When a Variable Represents a Column
sequential processing against value :
17.8.6. Sequential Processing Against a Column's Value
synchronization with :
4.5.1.1. Synchronization with database columns
where OIDS are stored :
18.4.2.1. Object identifiers (OIDs)
COMMA_TO_TABLE procedure :
C.16.2. The COMMA_TO_TABLE procedure
COMMENT keyword :
6.1.1. The COMMIT Statement
comments :
2.5. Comments

associated with transactions :
6.1.1. The COMMIT Statement
describing parameters :
22.7.1. Document All Parameters and Their Functions
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
encrypted code and : 23.7.3. Impact of Encrypting Code
symbols for :
2.1. The PL/SQL Character Set
using effectively :
3.6. Using Comments Effectively
COMMIT procedure
(see also
DBMS_PIPE)
C.10. DBMS_PIPE
C.15.4. The COMMIT procedure
COMMIT statement
6.1.1. The COMMIT Statement
6.11.1. Releasing Locks with COMMIT
COMMIT_COMMENT procedure :
C.15.5. The COMMIT_COMMENT procedure
COMMIT_FORCE procedure :
C.15.6. The COMMIT_FORCE procedure
Companion Utilities Guide :
A. What's on the Companion Disk?
COMPARE function :
C.6.2. The COMPARE function
comparing
collections :
19.4.4. Comparing Collections
with NULL :

4.3. NULLs in PL/SQL
objects :
18.3.6. Comparing Objects
records :
9.1.6. Comparing Two Records
strings
4.2.3.2. The VARCHAR2 and VARCHAR datatypes
11.1.13. The SOUNDEX function
comparison methods :
18.3.1. About Object Types
compilation
automatic :
23.3.1. Interdependencies of Stored Objects
errors, viewing :
23.5.4. Viewing Compilation Errors in SQL*Plus
manual :
23.3.1. Interdependencies of Stored Objects
of modules :
4.5.2. Anchoring at Compile Time
COMPILE_SCHEMA procedure :
C.16.3. The COMPILE_SCHEMA procedure
compiler constructs : (see
pragmas)
compiling
forced :
20.7.3. Forcing Compilation
package specifications :
1.7.3. Center All Development Around Packages
compound symbols : (see
symbols)

CONCAT function
4.3.3. Function Results with NULL Arguments
11.1.3. The CONCAT function
concatenation (||) operator
4.3.3. Function Results with NULL Arguments
11.1.3. The CONCAT function
concatenation, string
4.3.3. Function Results with NULL Arguments
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
11.1.3. The CONCAT function
conditional control structures :
5. Conditional and Sequential Control
formatting :
3.3. Formatting Control Structures
conditional loops : (see
loops)
constants : (see
literals; named constants; variables)
constrained datatypes
4.4.1. Constrained Declarations
4.6. Programmer-Defined Subtypes
4.6.3. Emulating Constrained Subtypes
constructor methods
18.2.2.1. PL/SQL usage
18.3.1. About Object Types
18.4.1.1. Constructors
constructors, initializing collections :
19.4.1.1. Initializing with a constructor
control structures, iterative : (see
loops)

conventions, naming :
4.7.1. Establish Clear Variable Naming Conventions
conversion
and format models :
14.1. Conversion Formats
functions for :
14. Conversion Functions
implicit :
14. Conversion Functions
CONVERT function
C.7.2. The CONVERT function
14.2.2. The CONVERT function
converting
between datatypes :
4.2.8. Conversion Between Datatypes
datatypes
external procedures and :
21.4.1. Datatype Conversion
performance and :
25.4.7. Avoid Type Conversions When Possible
explicitly versus implicitly :
4.2.8.1. Explicit data conversions
to/from hexadecimal :
14.2.3. The HEXTORAW function
to row numbers :
10.5.1. Automatic Conversion of Row Number Expressions
triggers to procedures :
25.3.7. Keep Database Triggers Small
variables to named constants :
4.7.5. Convert Variables into Named Constants

Cooperative Development Environment (CDE) :
1.2. The Concept of Programming in Oracle
Applications
COPY procedure :
C.6.3. The COPY procedure
correlated subqueries :
17.8.3. Replacing Correlated Subqueries
correlation variables :
18.4.2.2. REFs
COS function :
13.1.7. The COS function
COSH function :
13.1.8. The COSH function
COUNT function
10.8.2.1. The COUNT function
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
19.6.1. COUNT
counted loops : (see
numeric FOR loops)
counting substring occurrences :
11.2.4. Counting Substring Occurrences in Strings
CREATE command :
23.5.1. Creating Stored Objects
CREATE DIRECTORY command :
4.2.7.7. Working with BFILEs
CREATE LIBRARY command
21.2.3. Step 3: Issue CREATE LIBRARY Statement
21.3.1. CREATE LIBRARY: Creating the External Procedure Library
CREATE OR REPLACE command :
23.5.3. Changing Stored Objects

CREATE TYPE BODY statement :
18.3.3. CREATE TYPE BODY: Creating a Body
CREATE TYPE command :
19.2. Creating the New Collections
CREATE TYPE ... AS OBJECT statement :
19.2.1.2. Collection as an attribute of an object
type
CREATE TYPE statement :
18.3.2. CREATE TYPE and DROP TYPE: Creating and Dropping
Types
CREATE VIEW statement :
20.3.1. CREATE VIEW: Creating an Object View
CREATE_QUEUE procedure :
C.3.2.3. The CREATE_QUEUE procedure
CREATE_QUEUE_TABLE procedure :
C.3.2.1. The CREATE_QUEUE_TABLE procedure
cursor FOR loops :
7.4. The Cursor FOR Loop
formatting :
3.3.2. Formatting Loops
premature termination of :
7.7.2.1. Premature FOR loop termination
records in :
7.4.2. The Cursor FOR Loop Record
scope of :
7.6.2.1. Scope in FOR loops
CURSOR statement :
6.4. Declaring Cursors
cursor variables
aliases for :

6.12.6.3. Cursor variable aliases
as arguments :
6.12.7. Passing Cursor Variables as Arguments
attributes of :
6.12.2. Similarities to Static Cursors
scope of :
6.12.6.4. Scope of cursor object
CURSOR_ALREADY_OPEN exception :
8.3.1. Named System Exceptions
cursors :
6.2. Cursors in PL/SQL
attributes of :
6.9. Cursor Attributes
for cursor variables :
6.12.2. Similarities to Static Cursors
%FOUND :
6.9.1. The %FOUND Attribute
%ISOPEN
6.5. Opening Cursors
6.9.4. The %ISOPEN Attribute
%NOTFOUND
6.6.2. Fetching Past the Last Row
6.9.2. The %NOTFOUND Attribute
%ROWCOUNT :
6.9.3. The %ROWCOUNT Attribute
closing :
6.8. Closing Cursors
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
column aliases in : 6.7. Column Aliases in Cursors
corresponding to records :

9.1.4. Guidelines for Using Records
cursor variables
1.4.5.2. Cursor variables
6.2.1. Types of Cursors
6.12. Cursor Variables
restrictions on :
6.12.8. Cursor Variable Restrictions
database access based on :
1.4.3.8. Cursor-based access to the database
declaring :
6.4. Declaring Cursors
in packages :
16.3.2. Declaring Package Cursors
examples of using :
6.13. Working with Cursors
explicit
1.7.4. Standardize Your PL/SQL Development Environment
6.2.1. Types of Cursors
6.3.3. Explicit Cursors
FETCH INTO from :
9.5.3. FETCH INTO from an Explicit Cursor
explicit, fetching from :
1.7.2. Synchronize Program and Data Structures
fetching from :
6.6. Fetching from Cursors
FOR loops for
1.6.4. The cursor FOR loop
1.7.1. Write as Little Code as Possible
group functions in :
6.13.1.1. Inefficiency of group functions in cursors

identifier precedence :
6.4.3. Identifier Precedence in a Cursor
implicit
1.7.4. Standardize Your PL/SQL Development Environment
6.2.1. Types of Cursors
6.3.1. Implicit Cursors
6.9. Cursor Attributes
6.9.5. Implicit SQL Cursor Attributes
SELECT INTO from :
9.5.2. SELECT INTO from an Implicit Cursor
naming :
6.4.1. The Cursor Name
opening
6.2.2. Cursor Operations
6.5. Opening Cursors
6.10.2. Opening Cursors with Parameters
parameters of :
6.10. Cursor Parameters
records based on :
9.3. Cursor-Based Records
RETURN statement :
6.4.4. The Cursor RETURN Clause
scope of :
15.3.5.4. Cursor scope
SELECT FOR UPDATE statement :
6.11. SELECT FOR UPDATE in Cursors
specifying in packages :
16.3. The Package Specification
static :
6.2.1. Types of Cursors

Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.

×