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

Oracle PL/SQL Language Pocket Reference- P11

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 (251.64 KB, 50 trang )

Previous: About the Disk
Preface
Next: Acknowledgments

Comments and Questions
Please address comments and questions concerning this book to the publisher:
O'Reilly & Associates
101 Morris Street
Sebastopol, CA 95472
1-800-998-9938 (in the U.S. or Canada)
1-707-829-0515 (international or local)
1-707-829-0104 (FAX)
You can also send us messages electronically. See the insert in the book for information about
O'Reilly & Associates' online services.
For corrections and amplifications for the book, check out

If you have any questions about the disk supplied with this book, contact RevealNet Inc. at
http://
www.revealnet.com.
Previous: About the Disk
Oracle PL/SQL
Programming, 2nd Edition
Next: Acknowledgments
About the Disk
Book Index
Acknowledgments
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.


Previous: Which Platform
or Version?
Preface
Next: Comments and
Questions

About the Disk
The content of the companion Windows disk for this book has been included on this CD, in the /
prog2/disk/ directory. This disk contains the Companion Utilities Guide for Oracle PL/SQL
Programming, an online tool developed by RevealNet, Inc. that gives you point-and-click access to
more than 100 files of source code and documentation that we developed. Many of the code examples
are also printed in the book. We've included these to give you a jump start on writing your own PL/
SQL code and to keep you from having to type many pages of PL/SQL statements from printed text.
Appendix A, describes how to install the Windows-based interface. You can run the software in any
Microsoft Windows environment. If you are working in a non-Windows environment, you can obtain
a compressed file containing the utilities on the desk from the RevealNet PL/SQL Pipeline Archives
at

Previous: Which Platform
or Version?
Oracle PL/SQL
Programming, 2nd Edition
Next: Comments and
Questions
Which Platform or Version?
Book Index
Comments and Questions
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.
Previous: Conventions
Used in This Book
Preface
Next: About the Disk

Which Platform or Version?
In general, all of the discussions and examples in this book apply regardless of the machine and/or
operating system you are using. In those few cases where a feature is in any way system-dependent, I
note that in the text.
There are many versions of PL/SQL, and you may even find that you need to use multiple versions in
your development work.
Chapter 1, Introduction to PL/SQL describes in detail the many versions of
PL/SQL and what you need to know about them; see
Section 1.4, "PL/SQL Versions" in Chapter 1 in
Chapter 1.
Previous: Conventions
Used in This Book
Oracle PL/SQL
Programming, 2nd Edition
Next: About the Disk
Conventions Used in This
Book
Book Index
About the Disk
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.
Previous: Audience
Preface
Next: Which Platform or
Version?

Conventions Used in This Book
The following conventions are used in this book:
Italic
is used for file and directory names.
Constant width
is used for code examples.
Constant width bold
In some code examples, highlights the statements being discussed.
Constant width italic
In some code examples, indicates an element (e.g., a filename) that you supply.
UPPERCASE
In code examples, indicates PL/SQL keywords.
lowercase
In code examples, indicates user-defined items such as variables, parameters, etc.
punctuation
In code examples, enter exactly as shown.
indentation
In code examples, helps to show structure but is not required.
--
In code examples, a double hyphen begins a single-line comment, which extends to the end of
a line.
/* and */
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
In code examples, these characters delimit a multiline comment, which can extend from one

line to another.
.
In code examples and related discussions, a dot qualifies a reference by separating an object
name from a component name. For example, dot notation is used to select fields in a record
and to specify declarations within a package.
< >
In syntax descriptions, angle brackets enclose the name of a syntactic element.
[ ]
In syntax descriptions, square brackets enclose optional items.
...
In syntax descriptions, an ellipsis shows that statements or clauses irrelevant to the discussion
were left out.
Previous: Audience Oracle PL/SQL
Programming, 2nd Edition
Next: Which Platform or
Version?
Audience
Book Index
Which Platform or Version?
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.
Previous: Structure of This
Book
Preface
Next: Conventions Used in
This Book


Audience
This book was designed to be used by anyone who needs to develop Oracle-based applications using
the PL/SQL programming language. There are a number of distinct audiences:
Role How to Use the Book
Information systems manager The application development or database
administration manager in an Oracle shop needs a
thorough grasp of the technology used in the
development groups. Familiarity with the
technology will help the manager to better
understand the challenges faced by the team
members and the ability of that team to solve
problems. These managers will want to pay
particular attention to
Part 4, for the big picture of
structuring PL/SQL-based applications.
One-person information systems shop Oracle licenses are frequently sold into small
companies or departments where the supporting
information systems organization consists of little
more than a single manager and single developer (or
perhaps both of those functions rolled into one).
These small organizations do not have the time to
search through multiple manuals or sets of training
notes to find the solution to their problems. This
book offers one-stop shopping for these people -- a
consolidated reference and solutions source.
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
Database administrator The DBA in the world of Oracle7 needs to build
database triggers and stored procedures in order to
manage business rules at the RDBMS levels and
implement distributed databases. The DBA will use

this book to strengthen his or her understanding of
how to write efficient RDBMS-level objects. This
book will also discuss constructing packages of
related objects which will reduce the resources
required to maintain these objects.
New developer in the Oracle
Developer/2000 environment
Many developers arrive fresh on the Oracle scene
through the use of the new Oracle Developer/2000
tools in the Windows environment. These
developers will be comfortable manipulating the
various widgets in the GUI world, but will find PL/
SQL to be a strange, new partner for development.
This book will quickly bring them up to speed and
make them more productive users of Oracle
Developer/2000 software.
Experienced Oracle developer Many thousands of programmers have spent years
writing, debugging, and maintaining programs
written in SQL*Forms, SQL*Reportwriter,
SQL*Plus, and SQL*Menu. While their PL/SQL
skills have progressed to meet the needs of specific
applications, most could expand both their PL/SQL
knowledge and their awareness of its subtleties. In
addition, as developers move into the Oracle
Developer/2000 generation, PL/SQL plays a
significantly more central role; the developer will
have to gain new expertise to meet the demands of
this change.
Consultant Consultants must offer a high level of service and
quality to their customers. This added value is

measured in productivity and in the application of
skills not currently held by the client. Consultants
should find this book an invaluable aid in deepening
their understanding of PL/SQL technology.
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
Previous: Structure of This
Book
Oracle PL/SQL
Programming, 2nd Edition
Next: Conventions Used in
This Book
Structure of This Book
Book Index
Conventions Used in This
Book
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.
Previous: Objectives of
This Book
Preface
Next: Audience

Structure of This Book
This second edition has changed from the first edition in a number of significant ways. Before listing
the individual parts of the book, I want to explain the overall restructuring.
About the Second Edition
We (the authors and O'Reilly & Associates) are committed to providing comprehensive, useful

coverage of the PL/SQL language over the life of this language. The first edition of this book covered
most of PL/SQL's features as it existed through PL/SQL Release 2.3. With the release of Oracle8,
however, we faced a challenge: how do we fit all the new technologies of PL/SQL8 into Oracle PL/
SQL Programming and fill out coverage of existing elements of PL/SQL without creating a tome so
unwieldy that reading the book becomes as much a physical as a mental workout?
Furthermore, if we look ahead a few years, we can easily expect that Oracle will continue to roll out
expanded functionality in the objects area, as well as providing new and enhanced built-in packages.
Given this situation, it quickly became clear to us that it was not practical to offer a single text which
covered "all things PL/SQL."
Two questions then arose: what do we cut and what do we do with the stuff that we cut? The answers
are as follows:

Move the package examples from the printed text to the disk. The second edition's disk offers
a Windows-based interface designed by RevealNet, Inc. () allowing
you rapid access to the many utilities and samples. Now, instead of having to look through a
directory listing and then using an editor to view those files, you will be able to mouse-click
and drill-down your way to the topics in which you are interested. We take advantage of this
interface to give you an easy way to examine the many examples of packages I built for the
book.

Remove the chapter on built-in packages and expand it into a complete book. This chapter in
the first edition offered lots of good information, but it was not comprehensive and simply
couldn't keep growing to absorb all the new technology issuing forth from Oracle
headquarters. Moving coverage of built-in packages to its own book will give us room to
provide more and better information about this key element of the PL/SQL language.
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
Appendix A, What's on the Companion Disk?, of this edition of Oracle PL/SQL Programming
will still provide a quick reference to the more common built-in packages.
About the Contents
The second edition of Oracle PL/SQL Programming is divided into seven parts:

Part 1, Programming in PL/SQL
Chapters 1 through 3 explain what it means to program in PL/SQL and in Oracle-based
applications in general. This part of the book introduces you to the main features of the PL/
SQL language and gives you some general advice on programming habits and effective
coding style.
Part 2, PL/SQL Language Elements
Chapters 4 through 10 describe the basic PL/SQL programming components -- variables,
cursors, conditional and sequential control statements, loops, exception handlers, PL/SQL
records, and PL/SQL tables. These chapters contain numerous examples, along with tips on
how, when, and where to apply these programming constructs most effectively. When you
complete this section of the book you will know how to apply all the constructs of the PL/SQL
language. You will also be able to examine the complex requirements in your own
applications and use the different parts of PL/SQL to implement those requirements.
Part 3, Built-In Functions
Chapters 11 through 14 present the many built-in (predefined) PL/SQL functions and
procedures, which you can put to use immediately in your applications. One of the key
barometers of your success with PL/SQL will be the extent to which you know how to
leverage all of the capabilities that Oracle Corporation provides. (You don't want to have to
reinvent the wheel when so many functions and procedures are provided for you.) Appendix
C, Built-In Packages supplements Part 3 by summarizing the syntax of Oracle's built-in
packages.
Part 4, Modular Code
Chapters 15 through 17 take you past the individual components of the PL/SQL language to
explore modular construction in PL/SQL. You will learn how to build procedures, functions,
and packages; more than that, you will learn how to build them correctly. More than with any
other aspect of code, the way you design your modules has an enormous impact on your
applications' development time, reusability, and maintainability.
Part 5, New PL/SQL8 Features
Chapters 18 through 21 contain the main discussion of the new features of Oracle8 -- in
particular, object types, new types of collections (nested tables and VARRAYs), object views,

and external procedures. Although we describe Oracle8 enhancements as appropriate in other
sections of the book, we localize the major discussion here. Doing so allows developers new
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
to Oracle8 to learn about the features in a coordinated way. It also lets developers still
working on Oracle7 systems to skip over much of the discussion until it is more relevant to
them.
Part 6, Making PL/SQL Programs Work
Chapters 22 through 26 tell you how to manage your PL/SQL code and debug, tune, and trace
the execution of your programs. This part of the book also contains a summary of particularly
helpful tips for effective PL/SQL programming in the real world.
Part 7, Appendixes
Appendixes A through C summarize what's on the companion disk, how to call stored
procedures from PL/SQL Version 1.1, and how to call Oracle's built-in packages.
If you are new to PL/SQL, reading this book from beginning to end should improve your skills and
help your understanding widen in a gradual, natural process. If you're already a proficient PL/SQL
programmer, you'll probably want to dip into the appropriate sections in order to extract particular
techniques for immediate application. Whether you use this book as a teaching guide or as a
reference, I hope that it will have a significant impact on your ability to use PL/SQL most effectively.
Long as this book is, it doesn't do everything. The Oracle environment is a huge and complex one,
and in this book I've focused my attention on PL/SQL itself. Some topics are outside the logical
scope of this book. Therefore, this book does not cover:

Administration of Oracle databases. While the DBA can use this book to learn how to write
the PL/SQL needed to build and maintain databases, this book does not explore all the
nuances of the Data Definition Language (DDL) of Oracle's SQL.

Application and database tuning. I don't cover detailed tuning issues in this book, though the
second edition does add a chapter on PL/SQL tuning. Oracle Performance Tuning by Peter
Corrigan and Mark Gurry (O'Reilly & Associates, Second Edition, 1997) gives you all the
information you need about tuning your Oracle applications.


Oracle tool-specific technologies independent of PL/SQL. This book won't teach you
everything you need to know about such technologies as SQL*Forms and Oracle Forms
triggers. Similarly, you won't find detailed discussions of repeating frames of Oracle Reports
in here. Nevertheless, many of the techniques offered in this book certainly do apply to the
Oracle Developer/2000 environment.

Third-party application development software. There are many alternatives to using PL/SQL
and the tools supplied by Oracle to build your applications. This book does not address these
options, nor does it attempt to compare PL/SQL to these third-party products.

National Language Support in Oracle. This book does not offer comprehensive coverage of
Oracle's National Language Support (NLS) capabilities for developing applications for
multiple languages.

Trusted Oracle. Oracle Corporation has developed a special version of its Oracle7 Server for
high-security environments. This book does not detail the additional datatypes and features
available only for Trusted Oracle.
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
Previous: Objectives of
This Book
Oracle PL/SQL
Programming, 2nd Edition
Next: Audience
Objectives of This Book
Book Index
Audience
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.
Previous: Foreword
Preface
Next: Structure of This
Book

Preface
Contents:
Objectives of This Book
Structure of This Book
Audience
Conventions Used in This Book
Which Platform or Version?
About the Disk
Comments and Questions
Acknowledgments
Thousands of application developers and database administrators around the world use software
provided by Oracle Corporation to build complex systems that manage vast quantities of data. At the
heart of much of Oracle's software is PL/SQL -- a programming language that provides procedural
extensions to the SQL relational database language and an ever-growing range of Oracle
development tools.
PL/SQL figures prominently as an enabling technology in almost every new product released by
Oracle Corporation. Developers can use PL/SQL to perform many kinds of programming functions,
including:

Implementing crucial business rules in the Oracle Server with PL/SQL-based stored
procedures and database triggers

Enhancing powerful and easy-to-use GUI interfaces of products like Oracle Developer/2000

with detailed, programmatic control

Employing object-oriented design principles in Oracle-based applications

Linking a World Wide Web page to an Oracle database
Perhaps most importantly, PL/SQL plays a crucial role in the design of successful client-server
applications because it provides the foundation for the code used to distribute processing and
transactions across the network.
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
PL/SQL was modeled after Ada,[1] a programming language designed for the United States
Department of Defense. Ada is a high-level programming language which emphasizes data
abstraction, information hiding, and other key elements of modern design strategies.
[1] The language was named "Ada" in honor of Ada Lovelace, a mathematician who is
regarded by many to have been the world's first computer programmer.
PL/SQL is a powerful language which incorporates many of the most advanced elements of
procedural languages, including:

A full range of datatypes

Explicit block structures

Conditional and sequential control statements

Loops of various kinds

Exception handlers for use in event-based error handling

Constructs that help in the development of modular code -- functions, procedures, and
packages (collections of related programs and variables); packages are often referred to as
"poor man's objects"


User-defined datatypes such as objects and nested tables (with the Oracle objects option)
PL/SQL is integrated tightly into Oracle's SQL language: you can execute SQL statements directly
from your procedural program. Conversely, you can also call PL/SQL functions from within a SQL
statement.
Oracle developers who want to be successful in the 1990s and beyond must learn to use PL/SQL to
full advantage. This is a two-step process: first, learn how to use the language's full set of features;
and second, after mastering those individual features, learn how to put these constructs together to
build complex applications.
How can you best learn PL/SQL? The usual way is to struggle with the software tool and, through
trial and error, discover the best implementation techniques. With PL/SQL, a slow and uncertain
process is made worse by several factors:

PL/SQL is still a relatively new language; there are few resources outside of Oracle manuals
that will help you learn more. Classes tend to focus on the flashy side of the new GUI tools,
and they ignore the more complicated programming that is so necessary in production
applications. Books on Oracle technology try to cover too much territory and as a result
cannot support developers as they move past the most basic requirements.

PL/SQL is just now maturing to the point where it offers and is supported by a comprehensive
set of features and programmer utilities. For years, developers have complained about a lack
of a debugger, the inability to read from and write to operating system files, no support for
arrays, and other issues. Oracle Corporation has finally released versions of PL/SQL which
address these complaints and are robust enough to support large-scale application
development. To complement this robustness, third-party vendors are also beginning to offer
useful programming environments.
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.

PL/SQL is an island of procedurality in a sea of declarative or "fill-in-the-form" products; you
have to figure out how to blend these two different approaches when you develop your code. It

is one thing to click on a button in a designer interface and create a widget. It is quite another
thing to learn how to manipulate that widget and handle the event-based interactions between
widgets with procedural code.
For all of these reasons and more, Oracle developers need a solid, comprehensive resource for all
things PL/SQL. You need to know about the basic building blocks of PL/SQL, but you also need to
learn by example, so you can skip as much of the trial-and-error as possible. As with any
programming language, there is a right way and many wrong ways (or at least "not as right" ways) in
PL/SQL to handle just about every requirement you will meet. It's my hope that this book will help
you learn how to use the PL/SQL language in the most effective and efficient way possible.
Objectives of This Book
What, specifically, will this book help you do?
Take full advantage of PL/SQL. The reference manuals may describe all the features of the PL/SQL
language, but they don't tell you how to apply the technology. In fact, in some cases, you'll be lucky
to even understand how to use a given feature after you've made your way through the railroad
diagrams. Books and training courses tend to cover the same standard topics in the same limited way.
In this book, we'll venture beyond to the edges of the language, to the nonstandard ways in which a
particular feature can be tweaked to achieve a desired result.
Use PL/SQL to solve your problems. You don't spend your days and nights writing PL/SQL modules
so that you can rise to a higher plane of existence. You use PL/SQL to solve problems for your
company or your customers. In this book, I try hard to help you tackle real-world problems, the kinds
of issues developers face on a daily basis (at least those problems that can be solved with mere
software). To do this, I've packed the book with examples -- not just small code fragments, but
complete application components you can apply immediately to your own situations. There is a good
deal of code in the book itself, and much more on the disk that accompanies the book. In this book I
guide you through the analytical process used to come up with a solution. In this way I hope you'll
see, in the most concrete terms, how to apply PL/SQL features and undocumented applications of
those features to a particular situation.
Write efficient, maintainable code. PL/SQL and the rest of the Oracle products offer the potential for
incredible development productivity. If you aren't careful, however, this rapid development capability
will simply let you dig yourself into a deeper, darker hole than you've ever found yourself in before. I

would consider this book a failure if it only ended up helping programmers write more code in less
time than ever before. I want to help you develop the skills and techniques that give you the time to
build modules which readily adapt to change and are easily understood and maintained. I want to
teach you to use comprehensive strategies and code architectures which allow you to apply PL/SQL
in powerful, general ways to many of the problems you will face.
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
Previous: Foreword
Oracle PL/SQL
Programming, 2nd Edition
Next: Structure of This
Book
Foreword
Book Index
Structure of This Book
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.
Previous: Dedication
Foreword
Next: Preface

Foreword
The world is always changing for applications developers. In the early 1990s the emphasis was on the
user interface, and the demand was overwhelming for PC clients with buttons, pop-up lists, tab
folders, and other fancy GUI elements. We learned Visual Basic, PowerBuilder, SQL Windows,
Access, and Paradox to meet that demand, or we suffered through the evolution of the
Developer/2000 tools from Oracle Corporation. We were able to create instant legacy applications in
just a matter of weeks -- legacy applications with a pretty interface and some of the ugliest,

undocumented, nonoptimized, spaghetti code that you have ever seen. We could quickly build
unreadable, unmaintainable code with all the application logic wrapped up in the interface elements.
Now it's Java, Java, Java, and more Java. Our clients want elegant multi-tier applications that run on
any client from thin-client network computers to overstuffed NT workstations with hundreds of
megabytes of memory, with that same instantaneous response they expected from client/server
systems. Now our applications must support not hundreds of users on a local area network but
thousands of users on the Internet. Oracle is even promising that you will be able to execute Java in
the database server itself and write stored procedures in Java rather than PL/SQL. So why aren't we
rushing off to learn Java? Because even with all of the hoopla over Java, PL/SQL is still the best way
to build programs to access data in Oracle7 and Oracle8 databases. After Oracle began using PL/SQL
to build its own tools for replication, the open APIs for Designer/2000 and Developer/2000, and the
HTML generators, it began to pay a lot more attention to performance characteristics, and PL/SQL8
includes a number of significant enhancements to speed execution of complex PL/SQL logic. With
these new improvements, PL/SQL8 assumes even more importance as the principal data access
language for Oracle8.
Oracle has been methodically enhancing the capabilities of PL/SQL to make it the language of choice
for developing distributed computing environments. When Oracle finally delivers client-side PL/SQL
with the full characteristics of server-side code (effectively turning all clients into mini-servers for
certain purposes), we will be able to build truly distributed environments for maximizing the
effectiveness of our limited computing resources. We already can use PL/SQL packages and
procedures from most good front-end tools, and that integration should get better over time. Almost
every Java-based middleware connectivity tool is being released with support for PL/SQL. That
should help make it easier to build the complex rules in a portable language that we can run in most
popular hardware or software environments.
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
PL/SQL is a complex and powerful programming language that you can use to build a new
generation of multi-tier systems -- systems that can scale up past the department LAN to enable
world-wide enterprise systems on the Internet with the same reliability that we expect from old
mainframe applications. The ability to build those systems does not mean that we will be able to
manage our development environments effectively. You can be sure that the tools to help us cope

with the complexity of truly distributed business objects will be slower to emerge, and we will all be
in pretty deep before they are really ready.
We can start to get ready now as we begin to take advantage of the new power and sophistication of
Oracle8's PL/SQL. We can start writing modular code that can be developed in a top-down manner
with program names that truly describe their function. We can start to write PL/SQL code that we can
reuse within and among our applications. We can apply the principles of good structured design to
our development of PL/SQL packages, procedures, functions, etc. And we can use Oracle PL/SQL
Programming as our source of the right way to write efficient and effective PL/SQL code.
Many of us have already adopted Oracle PL/SQL Programming as our programming "bible."
Steven's no-nonsense approach to minimizing the amount of code he needs to write and maintain; his
naming conventions that maximize the documentation content of his code; his innate ability to sniff
out ways to make coding PL/SQL less drudgery and more creative -- all of these characteristics
should be extremely useful and inspiring to good developers. The first edition of this book is one of
the very few titles in my Oracle collection of more than 70 books that is actually dog-eared from use.
All of my colleagues already know the book intimately.
I have known Steven Feuerstein and his work for a long time through my publishing of Oracle
technical publications: the NY Oracle Users newsletter in 1989; the Oracle User Resource newsletter
from 1990 to 1994; the International Oracle Users Journal from 1990 to 1992; the Proceedings of the
East Coast Oracle Developers Conference from 1991 to 1996; and since 1994, Pinnacle Publishing's
Oracle Developer. Steven has been my most prolific and admired writer for more than seven years.
Now that Steven (with the able help of Bill Pribyl) has updated the original version of Oracle PL/
SQL Programming, I advise every Oracle developer to replace his or her own well-utilized copy with
this new edition. They'll start out checking the new Oracle8 additions and the additional chapters on
performance tuning, debugging, and tracing. But I think every one of them should have a copy of the
new edition handy so they'll be prepared when someone comes to them with the inevitable questions
about PL/SQL. Oracle8 is going to be the database behind many of the biggest systems on the
Internet, and PL/SQL is going to be the language that makes it happen. The most successful Oracle
developers and DBAs will be up to their ears in PL/SQL code -- and they'll be eternally grateful if
that code is written in accordance with Steven and Bill's teachings.
As an extra treat, you should also find the book to be readable and entertaining, not easy adjectives to

apply to most technical tomes. You will enjoy this book! I did.
Tony Ziemba
Editor, Oracle Developer
Please purchase PDF Split-Merge on www.verypdf.com to remove this watermark.
New York, NY
August 1997
Previous: Dedication Oracle PL/SQL
Programming, 2nd Edition
Next: Preface
Dedication
Book Index
Preface
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.
Dedication
Next: Foreword

Dedication
I dedicate this book to my parents, Sheldon and Joan Feuerstein, and to the children in my life: the
babies at the Columbus Maryville Reception Center, Nikolas Silva, Ian and Michaela McCauseland,
Danielle and Benjamin DeUrso, Adam and Jay Bartell, Ciera, Brian, and Michael Daniels, Timnah
and Masada Sela, and of course my own boys, Eli and Chris.
-- Steven Feuerstein
To my father, who told me "that's no hill for a stepper" enough times that it finally sank in.
-- Bill Pribyl

Oracle PL/SQL

Programming, 2nd Edition
Next: Foreword

Book Index
Foreword
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.

×