-
Programming in PL/SQL
-
Chapter 1 Introduction to PL/SQL
- What Is PL/SQL?
- The Origins of PL/SQL
- So This Is PL/SQL
- About PL/SQL Versions
- Resources for PL/SQL Developers
- Some Words of Advice
-
Chapter 2 Creating and Running PL/SQL Code
- SQL*Plus
- Performing Essential PL/SQL Tasks
- Oracle's PL/SQL-Based Developer Tools
- Calling PL/SQL from Other Languages
- And What Else?
-
Chapter 3 Language Fundamentals
- PL/SQL Block Structure
- The PL/SQL Character Set
- Identifiers
- Literals
- The Semicolon Delimiter
- Comments
- The PRAGMA Keyword
- Labels
-
-
PL/SQL Program Structure
-
Chapter 4 Conditional and Sequential Control
- IF Statements
- CASE Statements
- The GOTO Statement
- The NULL Statement
-
Chapter 5 Iterative Processing with Loops
- Loop Basics
- The Simple Loop
- The WHILE Loop
- The Numeric FOR Loop
- The Cursor FOR Loop
- Loop Labels
- Tips for Iterative Processing
-
Chapter 6 Exception Handlers
- How PL/SQL Deals with Errors
- Defining Exceptions
- Raising Exceptions
- Handling Exceptions
-
-
PL/SQL Program Data
-
Chapter 7 Working with Program Data
- Naming Your Program Data
- Overview of PL/SQL Datatypes
- Declaring Program Data
- Programmer-Defined Subtypes
- Conversion Between Datatypes
-
Chapter 8 Strings
- The Impact of Character Sets
- String Datatypes
- String Issues
- String Functions
- NLS Functions
-
Chapter 9 Numbers
- Numeric Datatypes
- Number Conversions
- Numeric Functions
-
Chapter 10 Dates and Timestamps
- Date and Time Datatypes
- Date and Timestamp Conversions
- Date/Time Arithmetic
- Date/Time Functions
-
Chapter 11 Records and Collections
- Records in PL/SQL
- Collections in PL/SQL
- Declaring Collection Types and Collections
- Where Collections Can Be Used
- Collection Built-Ins (Methods)
- Working with Collections
- Collection Pseudo-Functions
- Maintaining Collections
- Choosing a Collection Type
-
Chapter 12 Miscellaneous Datatypes
- The BOOLEAN Datatype
- The RAW Datatype
- The UROWID and ROWID Datatypes
- The LOB Datatypes
- Working with LOBs
- Predefined Object Types
-
-
SQL in PL/SQL
-
Chapter 13 DML and Transaction Management
- DML in PL/SQL
- Bulk DML with the FORALL Statement
- Transaction Management
- Autonomous Transactions
-
Chapter 14 Data Retrieval
- Cursor Basics
- Working with Implicit Cursors
- Working with Explicit Cursors
- BULK COLLECT
- SELECT...FOR UPDATE
- Cursor Variables
- Cursor Expressions (Oracle9i)
-
Chapter 15 Dynamic SQL and Dynamic PL/SQL
- NDS Statements
- Multirow Queries with Cursor Variables
- Binding Variables
- Working with Objects and Collections
- Building Applications with NDS
- NDS Utility Package
- Comparing NDS and DBMS_SQL
-
-
PL/SQL Application Construction
-
Chapter 16 Procedures, Functions,and Parameters
- Modular Code
- Procedures
- Functions
- Parameters
- Local Modules
- Module Overloading
- Forward Declarations
- Advanced Topics
- Go Forth and Modularize!
-
Chapter 17 Packages
- Why Packages?
- Rules for Building Packages
- Rules for Calling Packaged Elements
- Working with Package Data
- When to Use Packages
- Packages and Object Types
-
Chapter 18 Triggers
- DML Triggers
- DDL Triggers
- Database Event Triggers
- INSTEAD OF Triggers
- AFTER SUSPEND Triggers
- Maintaining Triggers
-
Chapter 19 Managing PL/SQL Applications
- Managing and Analyzing Code in the Database
- Protecting Stored Code
- Using Native Compilation
- Testing PL/SQL Programs
- Debugging PL/SQL Programs
- Tuning PL/SQL Programs
- Improving Application Performance
-
-
Advanced PL/SQL Topics
-
Chapter 20 PL/SQL's Runtime Architecture
- Looking Under the Hood
- Dependency Management
- PL/SQL's Use of Memory in the Oracle Server
- The Processing of Server-Side PL/SQL
- PL/SQL Code on the Client
- Execution Authority Models
- Hardware for PL/SQL: Bigger = Better?
- What You Need to Know
-
Chapter 21 Object-Oriented Aspects of PL/SQL
- Introduction to Oracle's Object Features
- An Extended Example
- Object Views
- Maintaining Object Types and Object Views
- Pontifications
-
Chapter 22 Calling Java from PL/SQL
- Oracle and Java
- Getting Ready to Use Java in Oracle
- A Simple Demonstration
- Using loadjava
- Using dropjava
- Managing Java in the Database
- Using DBMS_ JAVA
- Publishing and Using Java in PL/SQL
-
Chapter 23 External Procedures
- Introduction to External Procedures
- The Oracle Net Configuration
- Creating an Oracle Library
- Writing the Call Specification
- Raising an Exception from the Called C Program
- Nondefault Agents
- Maintaining External Procedures
-
-
Colophon
- Title:
- Oracle PL/SQL Programming, Third Edition
- By:
- Steven Feuerstein, Bill Pribyl
- Publisher:
- O'Reilly Media
- Formats:
-
- Print Release:
- September 2002
- Pages:
- 1024
- Print ISBN:
- 978-0-596-00381-4
- | ISBN 10:
- 0-596-00381-1
Our look is the result of reader comments, our own experimentation, and feedback from distribution channels. Distinctive covers complement our distinctive approach to technical topics, breathing personality and life into potentially dry subjects. Ants are featured on the cover of Oracle PL/SQL Programming, Third Edition. At least 8,000 different species of ants can be found everywhere on Earth except the North and South Poles. Ants preserved in amber suggest that these insects existed 50 million years before humans.
Humans have long been fascinated by ants, because these tiny insects are accomplished builders, nurses, miners, and even farmers. Fables such as "The Ant and the Grasshopper" extol the virtues of hardworking, forward-looking ants. (Hail ants!) It is true that individual ants are able to perform amazing feats: an ant can carry up to 50 times its body weight, can travel the human equivalent of 40 miles a day, and can climb vertical heights the equivalent of Mount Everest. However, the greatest accomplishments of ants are those performed together for the good of their community.
Queen ants establish new communities, or nests, after their mating flight. On this flight the queen mates with several males. After mating, the males fall to Earth and die. The queen then finds an uninhabited nest, settles into it, and pulls her wings off. She will never fly again, and after removing her wings she is able to absorb the wing muscles as nutrients for her eggs. She will continue to lay eggs, thousands of them, for years.
During the three-stage development process, which takes about two months, the eggs, larvae, and pupae are cared for by the nurse ants, who feed, clean, and carefully move the young to warmer or cooler places in the nest, depending on the temperature. These nurse ants are, in turn, cared for by other worker ants, who feed the nurses with regurgitated food. The workers and the nurses will fight together to defend the young against enemies if the nest is invaded, either by another group of ants or by a larger animal. Emily Quill was the production editor and copyeditor for Oracle PL/SQL Programming, Third Edition. Mary Anne Mayo, Sheryl Avruch, Matt Hutchinson, and Jane Ellin provided quality control. Phil Dangler, Derek DiMatteo, and Kimo Carter provided production assistance. Ellen Troutman wrote the index.
Edie Freedman designed the cover of this book. The cover image is a 19th-century engraving from the Dover Pictorial Archive. Emma Colby produced the cover layout with QuarkXPress 4.1 using Adobe's ITC Garamond font.
David Futato designed the interior layout. This book was converted to FrameMaker 5.5.6 with a format conversion tool created by Erik Ray, Jason McIntosh, Neil Walls, and Mike Sierra that uses Perl and XML technologies. The text font is Linotype Birka; the heading font is Adobe Myriad Condensed; and the code font is Lucas-Font's TheSans Mono Condensed. The illustrations that appear in the book were produced by Robert Romano and Jessamyn Read using Macromedia FreeHand 9 and Adobe Photoshop 6. The tip and warning icons were drawn by Christopher Bing. This colophon was written by Clairemarie Fisher O'Leary.
