Advanced Oracle PL/SQL Programming with Packages (Nutshell Handbook)
Steven Feuerstein, O'Reilly ISBN:1565922387, Edition: 1, 1996-12 Price: $42.95
Table of Contents
Dedication
Foreword
Preface
Part I: Working With Packages
Chapter 1: PL/SQL Packages
What Is a PL/SQL Package?
What Are the Types and Layers of Packages?
What Are the Benefits of Packages?
Using Packages
Types of Packages
Building Packages
Chapter 2: Best Practices for Packages
Starting With Packages
Using Effective Coding Style for Packages
Selecting Package Names
Organizing Package Source Code
Constructing the Optimal Interface to Your Package
Building Flexibility Into Your Packages
Building Windows Into Your Packages
Overloading for Smart Packages
Modularizing for Maintainable Packages
Hiding Package Data
Simultaneous Construction of Multiple Packages
Chapter 3: The PL/SQL Development Spiral
The Basic Problem
Adding Value
Supplying Backward Compatibility
Improving the User Interface
Rough Waters Ahead
Building a Structured Function
Handling Program Assumptions
Broadening the Scope
Considering Implementation Options
Choosing the Best Performer
Don't Forget Backward Compatibility
Obliterating the Literals
Glancing Backward, Looking Upward
Part II: PL/Vision Overview
Chapter 4: Getting Started with PL/Vision
What Is PL/Vision?
PL/Vision Package Bundles
Installation Instructions
Installing Online Help for PL/Vision
Using Online Help
Summary of Files on Disk
Chapter 5: PL/Vision Package Specifications
Common Package Elements
p: a DBMS_OUTPUT Substitute
PLV: Top-Level Constants and Functions
PLVcase: PL/SQL Code Conversion
PLVcat: PL/SQL Code Cataloguing
PLVchr: Operations on Single Characters
PLVcmt: Commit Processing
PLVddd: DDL Syntax Dump
PLVdyn: Dynamic SQL Operations
PLVexc: Exception Handling
PLVfile: Operating System I/O Manager
PLVfk: Foreign Key Interface
PLVgen: PL/SQL Code Generator
PLVhlp: Online Help Architechture
PLVio: Input/Output Processing
PLVlex: Lexical Analysis
PLVlog: Logging Facility
PLVlst: List Manager
PLVmsg: Message Handling
PLVobj: Object Interface
PLVprs: String Parsing
PLVprsps: PL/SQL Source Code Parsing
PLVrb: Rollback Processing
PLVstk: Stack Manager
PLVtab: Table Interface
PLVtkn: Token Table Interface
PLVtmr: Program Performance Analyzer
PLVtrc: Trace Facility
PLVvu: Code and Error Viewing
Part III: Building Block Packages
Chapter 6: PLV: Top-Level Constants and Functions
Null Substitution Value
Setting the PL/Vision Date Mask
Assertion Routines
PLV Utilities
The Predefined Datatypes
The Predefined Constants
Chapter 7: p: A Powerful Substitute for DBMS_OUTPUT
Using the l Procedure
The Line Separator
The Output Prefix
Controlling Output from p
Chapter 8: PLVtab: Easy Access to PL/SQL Tables
Using PLVtab-Based PL/SQL Table Types
Displaying PLVtab Tables
Showing Header Toggle
Showing Row Number Toggle
Setting the Display Prefix
Emptying Tables with PLVtab
Implementing PLVtab.display
Chapter 9: PLVmsg: Single-Sourcing PL/SQL Message Text
PLVmsg Data Structures
Storing Message Text
Retrieving Message Text
The Restriction Toggle
Integrating PLVmsg with Error Handling
Implementing load_ from_dbms
Chapter 10: PLVprs, PLVtkn, and PLVprsps: Parsing Strings
PLVprs: Useful String Parsing Extensions
PLVtkn: Managing PL/SQL Tokens
PLVprsps: Parsing PL/SQL Strings
Chapter 11: PLVobj: A Packaged Interface to ALL_OBJECTS
Why PLVobj?
ALL_OBJECTS View
Setting the Current Object
Accessing ALL_OBJECTS
Binding Objects to a Dynamic Cursor
Populating a PL/SQL Table with Object Names
A Programmatic Cursor FOR Loop
Tracing PLVobj Activity
Chapter 12: PLVio: Reading and Writing PL/SQL Source Code
Why PLVio?
Code Repositories Supported by PLVio
Managing the Source Repository
The Source WHERE Clause
Managing the Target Repository
Reading From the Source
Writing to the Target
Saving and Restoring Settings
Cleaning Up Source and Target
Chapter 13: PLVfile: Reading and Writing Operating System Files
A Review of UTL_FILE
Specifying the File in PLVfile
Creating and Checking Existence of Files
Opening and Closing Files
Reading From a File
Writing to a File
Copying File Contents
Displaying File Contents
Handling File Errors with PLVfile
Tracing PLVfile Activity
Part IV: Developer Utility Packages
Chapter 14: PLVtmr: Analyzing Program Performance
Toggling the Timer
Capturing the Start Time
Retrieving and Displaying the Elapsed Time
Using PLVtmr in Scripts
Chapter 15: PLVvu: Viewing Source Code and Compile Errors
Compiling PL/SQL Code in SQL*Plus
Displaying Compile Errors
Displaying Source Code
Implementing PLVvu
Chapter 16: PLVgen: Generating PL/SQL Programs
Options for Best Practices
Code Generated by PLVgen
Modifying PLVgen Behavior
Implementing PLVgen
Chapter 17: PLVhlp: Online Help for PL/SQL Programs
Who Needs Online Help?
Current Sources of Information
What Is "Online Help" for Stored Code?
Using PLVhlp
Implementing PLVhlp
Chapter 18: PLVcase and PLVcat: Converting and Analyzing PL/SQL Code
PLVcase: Converting the Case of PL/SQL Programs
PLVcat: Cataloguing PL/SQL Source Code
Part V: Plug-and-Play Packages
Chapter 19: PLVdyn and PLVfk: Dynamic SQL and PL/SQL
About Plug-and-Play
Declarative Programming in PL/SQL
The Dynamic Packages of PL/Vision
PLVdyn: A Code Layer over DBMS_SQL
DML Operations
PLVfk: Generic Foreign Key Lookups
Chapter 20: PLVcmt and PLVrb: Commit and Rollback Processing
PLVcmt: Enhancing Commit Processing
PLVrb: Performing Rollbacks
Chapter 21: PLVlog and PLVtrc: Logging and Tracing
PLVlog: Logging Activity in PL/SQL Programs
PLVtrc: Tracing Execution of PL/SQL Programs
Chapter 22: Exception Handling
The Challenge of Exception Handling
Application-Specific Exception Packages
Implementing PLVexc
Part VI: Testing Your Knowledge
Appendix A: Appendix: PL/SQL Exercises
|