My Account
View Cart
Home
Community
Books & Videos
Safari Books Online
Conferences
Training
School of Technology
About
Complete List
Bestsellers
New Releases
Rough Cuts
Upcoming Titles
Ebooks
By Publisher
By Series
Out of Print
Order Info
Search
Search Tips
Oracle PL/SQL Programming, Second Edition
By
Steven Feuerstein
With
Bill Pribyl
September 1997
Pages: 1024
|
Table of Contents
|
Index
|
Sample Chapter
|
Colophon
Table of Contents
Programming in PL/SQL
Chapter 1
Introduction to PL/SQL
What Is PL/SQL?
The Concept of Programming in Oracle Applications
The Origins of PL/SQL
PL/SQL Versions
Advice for Oracle Programmers
A Few of My Favorite (PL/SQL) Things
Best Practices for PL/SQL Excellence
Chapter 2
PL/SQL Language Fundamentals
The PL/SQL Character Set
Identifiers
Literals
The Semicolon Delimiter
Comments
The PRAGMA Keyword
Block Structure
Chapter 3
Effective Coding Style
Fundamentals of Effective Layout
Formatting SQL Statements
Formatting Control Structures
Formatting PL/SQL Blocks
Formatting Packages
Using Comments Effectively
Documenting the Entire Package
PL/SQL Language Elements
Chapter 4
Variables and Program Data
Identifiers
Scalar Datatypes
NULLs in PL/SQL
Variable Declarations
Anchored Declarations
Programmer-Defined Subtypes
Tips for Creating and Using Variables
Chapter 5
Conditional and Sequential Control
Conditional Control Statements
Sequential Control Statements
Chapter 6
Database Interaction and Cursors
Transaction Management
Cursors in PL/SQL
Implicit and Explicit Cursors
Declaring Cursors
Opening Cursors
Fetching from Cursors
Column Aliases in Cursors
Closing Cursors
Cursor Attributes
Cursor Parameters
SELECT FOR UPDATE in Cursors
Cursor Variables
Working with Cursors
Chapter 7
Loops
Loop Basics
The Simple Loop
The Numeric FOR Loop
The Cursor FOR Loop
The WHILE Loop
Managing Loop Execution
Tips for PL/SQL Loops
Chapter 8
Exception Handlers
Why Exception Handling?
The Exception Section
Types of Exceptions
Determining Exception-Handling Behavior
Raising an Exception
Handling Exceptions
Client-Server Error Communication
NO_DATA_FOUND: Multipurpose Exception
Exception Handler as IF Statement
RAISE Nothing but Exceptions
Chapter 9
Records in PL/SQL
Record Basics
Table-Based Records
Cursor-Based Records
Programmer-Defined Records
Assigning Values to and from Records
Record Types and Record Compatibility
Nested Records
Chapter 10
PL/SQL Tables
PL/SQL Tables and Other Collections
Characteristics of PL/SQL Tables
PL/SQL Tables and DML Statements
Declaring a PL/SQL Table
Referencing and Modifying PL/SQL Table Rows
Filling the Rows of a PL/SQL Table
Clearing the PL/SQL Table
PL/SQL Table Enhancements in PL/SQL Release 2.3
Working with PL/SQL Tables
Built-In Functions
Chapter 11
Character Functions
Character Function Descriptions
Character Function Examples
Chapter 12
Date Functions
Date Function Descriptions
Date Function Examples
Chapter 13
Numeric, LOB, and Miscellaneous Functions
Numeric Function Descriptions
LOB Function Descriptions
Miscellaneous Function Descriptions
Chapter 14
Conversion Functions
Conversion Formats
Conversion Function Descriptions
Conversion Function Examples
Modular Code
Chapter 15
Procedures and Functions
Modular Code
Review of PL/SQL Block Structure
The Anonymous PL/SQL Block
Procedures
Functions
Parameters
Local Modules
Module Overloading
Forward Declarations
Go Forth and Modularize!
Chapter 16
Packages
The Benefits of Packages
Overview of Package Structure
The Package Specification
The Package Body
Package Data
Package Initialization
Chapter 17
Calling PL/SQL Functions in SQL
Looking at the Problem
Syntax for Calling Stored Functions in SQL
Requirements for Stored Functions in SQL
Restrictions on PL/SQL Functions in SQL
Calling Packaged Functions in SQL
Column/Function Name Precedence
Realities: Calling PL/SQL Functions in SQL
Examples of Embedded PL/SQL
New PL/SQL8 Features
Chapter 18
Object Types
Introduction to Oracle8 Objects
Oracle Objects Example
Syntax for Creating Object Types
Manipulating Objects in PL/SQL and SQL
Modifying Persistent Objects
Object Housekeeping
Making the Objects Option Work
Chapter 19
Nested Tables and VARRAYs
Types of Collections
Creating the New Collections
Syntax for Declaring Collection Datatypes
Using Collections
Collection Pseudo-Functions
Collection Built-Ins
Example: PL/SQL-to-Server Integration
Collections Housekeeping
Which Collection Type Should I Use?
Chapter 20
Object Views
Example: Using Object Views
INSTEAD OF Triggers
Syntax for Object Views
Differences Between Object Views and Object Tables
Not All Views with Objects Are Object Views
Schema Evolution
Object Views Housekeeping
Postscript: Using the BFILE Datatype
Chapter 21
External Procedures
Introduction to External Procedures
Steps in Creating an External Procedure
Syntax for External Procedures
Mapping Parameters
OCI Service Routines
External Procedure Housekeeping
Examples
Making PL/SQL Programs Work
Chapter 22
Code Design Tips
Select Meaningful Module and Parameter Names
Build the Most Functional Functions
Take Full Advantage of Local Modularization
Be Wary of Modules Without Any Parameters
Create Independent Modules
Construct Abstract Data Types (ADTs)
Tips for Parameter Design
Chapter 23
Managing Code in the Database
Executing Stored Code
Transaction Integrity and Execute Authority
Module Validation and Dependency Management
Remote Procedure Calls
Managing Stored Objects with SQL*Plus
Using SQL to Examine Stored Objects
Encrypting Stored Code
Chapter 24
Debugging PL/SQL
The Wrong Way to Debug
Debugging Tips and Strategies
Chapter 25
Tuning PL/SQL Applications
Analyzing Program Performance
Tuning Access to Compiled Code
Tuning Access to Your Data
Tuning Your Algorithms
Overview of PL/SQL8 Enhancements
Chapter 26
Tracing PL/SQL Execution
The PL/SQL Trace Facility
Tracing for Production Support
Free Format Filtering
Structured Interface Filtering
Quick-and-Dirty Tracing
Appendixes
Appendix B
Calling Stored Procedures from PL/SQL Version 1.1
Using Stubs to Talk to Server-Side PL/SQL
Restrictions on Calling Stored Procedures
Appendix C
Built-In Packages
Using the Built-in Packages
DBMS_ALERT
Oracle AQ, the Advanced Queueing Facility
DBMS_DDL
DBMS_ JOB
DBMS_LOB (PL/SQL8 Only)
DBMS_LOCK
DBMS_MAIL
DBMS_OUTPUT
DBMS_PIPE
DBMS_ROWID (PL/SQL8 Only)
DBMS_SESSION
DBMS_SNAPSHOT
DBMS_SQL
DBMS_TRANSACTION
DBMS_UTILITY
UTL_FILE
Colophon
Return to
Oracle PL/SQL Programming