O’Reilly published the first edition of this book back in 1995. At that time, Oracle PL/SQL Programming made quite a splash. It was the first independent (i.e., not emanating from Oracle) book on PL/SQL, and it fulfilled a clear and intensely felt need of developers around the world. Since that time, resources—books, development environments, utilities, and web sites—for PL/SQL programmers have proliferated. (Of course, this book is still by far the most important and valuable of these resources!)
The following sections describe very briefly many of these resources. By taking full advantage of these resources, many of which are available either free or at a relatively low cost, you will greatly improve your development experience (and resulting code).
Over the years, the Oracle PL/SQL series from O’Reilly has grown to include quite a long list of books. Here we’ve summarized the books currently in print. Please check out the Oracle area of the O’Reilly web site for much more complete information.
The 1,200-page tome you are reading now. The desk-side companion of a great many professional PL/SQL programmers, this book is designed to cover every feature in the core PL/SQL language. The current version covers through Oracle Database 11g Release 2.
A comparatively gentle introduction to the language, ideal for new programmers and those who know a language other than PL/SQL.
A relatively short book that describes dozens of best practices that will help you produce high-quality PL/SQL code. Having this book is kind of like having a “lessons learned” document written by an in-house PL/SQL expert. The second edition features completely rewritten content that teaches best practices by following the challenges of a development team writing code for the make-believe company, MyFlimsyExcuse.com.
Contains a series of questions and answers intended to help PL/SQL programmers develop and test their understanding of the language. Covers PL/SQL features through Oracle8i Database, but of course most of those exercises apply to later versions of the database as well.
A reference guide to the prebuilt packages that Oracle supplies with the core database server. The use of these packages can often simplify the difficult and tame the impossible. This book covers features through Oracle8 Database, but the in-depth explanations of and examples for the included packages is still very helpful in later releases.
The PL/SQL language becomes and more important to Oracle DBAs with each new version of the database. There are two main reasons for this. First, large amounts of DBA functionality are made available through a PL/SQL package API. To use this functionality, you must also write and run PL/SQL programs. Second, it is critical that DBAs have a working knowledge of PL/SQL so that they can identify problems in the code built by developers. This book offers a wealth of material that will help DBAs get up to speed quickly on fully leveraging PL/SQL to get their jobs done.
A small but very useful quick-reference book that might actually fit in your coat pocket. It summarizes the syntax of the core PL/SQL language through Oracle Database 11g.
Another helpful and concise guide summarizing built-in functions and packages through Oracle8 Database.
PL/SQL Obsession is Steven’s online portal for PL/SQL resources, including all of his training presentations and supporting code, freeware utilities (some listed below), video recordings, and more. See http://www.ToadWorld.com/SF.
“I Love PL/SQL And” is a web site that makes it very easy for any PL/SQL developer to communicate to the PL/SQL development team her priorities regarding future changes to the PL/SQL language. Provided by Steven with the support and cooperation of Bryn Llewellyn, the PL/SQL Product Manager, this site lets you choose from a list of commonly-requested enhancements and send an email to Bryn adding your vote to those features most important to you. See www.iloveplsqland.net.
Join the Oracle Technology Network (OTN), which “provides services and resources that developers need to build, test, and deploy applications” based on Oracle technology. Boasting membership in the millions, OTN is a great place to download Oracle software, documentation, and lots of sample code. See the main page at http://otn.oracle.com. The PL/SQL page on OTN may be found at http://www.oracle.com/technology/tech/pl_sql/index.html.
PLNet.org is a repository of open source software, maintained by Bill Pribyl, that is written in PL/SQL or is otherwise for the benefit of PL/SQL developers. You can read more about the project’s background or check out the Frequently Asked Questions (FAQs). You will also be directed to a number of utilities, such as utPLSQL, the unit-testing framework for PL/SQL developers. Check out http://plnet.org.
Courtesy of the “dmoz” (Directory Mozilla) project, here you can find a choice set of links to PL/SQL sites. There is also a subcategory called “Tools” with a fairly comprehensive set of links to both commercial and noncommercial developer tools. See http://dmoz.org/Computers/Programming/Languages/PL-SQL/.
The Quest Error Manager (QEM) is a framework that will help you standardize the management of errors in a PL/SQL-based application. With QEM, you can register, raise, and report on errors through an API that makes it easy for all developers to perform error management in the same way, with a minimum amount of effort. Error information is logged into the instance (general information about the error) and context (application-specific name-value pairs) tables. Go to http://toadworld.com/Downloads/ExclusiveToadWorldFreeware/tabid/78/Default.aspx.
Quest CodeGen Utility is a very flexible code generator and repository for reusable code. With CodeGen, you can generate table APIs that will automatically execute the most common SQL operations against your tables (using the most advanced features of PL/SQL and with very robust error management). You can also generate all sorts of useful PL/SQL code from the “PL/SQL by Feuerstein” script library. Check out http://toadworld.com/Downloads/ExclusiveToadWorldFreeware/tabid/78/Default.aspx.