I am a...
I want to...
Sign In/Register for Account
Products and Services
Oracle Magazine Issue Archive
Oracle Magazine Online
Oracle Magazine PL/SQL Columns
) is Quest Software’s PL/SQL evangelist. He has published 10 books on Oracle PL/SQL (O’Reilly Media) and is an
Oracle ACE Director
. More information is available at
Working with Cursors
Part 12 in a series of articles on understanding and using PL/SQL
Wrap Your Code in a Neat Package
Part 11 in a series of articles on understanding and using PL/SQL
The Data Dictionary: Make Views Work for You
Part 10 in a series of articles on understanding and using PL/SQL
Bulk Processing with BULK COLLECT and FORALL
Part 9 in a series of articles on understanding and using PL/SQL
Working with Collections
Part 8 in a series on understanding and using PL/SQL
Working with Records
Part 7 in a series of articles on understanding and using PL/SQL
Part 6 in a series of articles on understanding and using PL/SQL
Working with Dates in PL/SQL
Part 5 in a series of articles on understanding and using PL/SQL
Working with Numbers in PL/SQL
Part 4 in a series of articles on understanding and using PL/SQL.
Working with Strings
Part 3 in a series of articles on understanding and using PL/SQL.
Controlling the Flow of Execution
Part 2 in a series of articles on understanding and using PL/SQL.
Building with Blocks
Part 1 in a series of articles on understanding and using PL/SQL.
Zoom In on Your Code
Use PL/Scope to analyze your PL/SQL.
On Working in Parallel
Finish faster with DBMS_PARALLEL_EXECUTE.
On Privacy and Function
Use Oracle Virtual Private Database and Function Result Cache—securely.
On Looping, First, and Last
Choose the best approach to prevent a VALUE_ERROR exception.
First Things First
Ask the right questions before starting construction of your new PL/SQL-based application.
The Magic Kingdom
Choose the best way to manage literal values.
On Avoiding Termination
Continue PL/SQL execution beyond exceptions.
On Emulating FINALLY
Code PL/SQL to function like the Java FINALLY section.
On Cursor FOR Loops
It&RSQUO;s important to know when not to use cursor FOR loops.
On Signatures and Changing WHERE
Best practices for changing headers and handling different WHERE clauses.
On Exceptions and Rules
Best practices for where, when, and how to handle exceptions
On the PGA and Indexing Collections
Best practices for knowing your PGA impact and indexing collections
On BULK COLLECT
Best practices for knowing your LIMIT and kicking %NOTFOUND.
On Continuing and Executing
Best practices for PL/SQL in Oracle Database 11
and multilevel, string-indexed collections.
On the PL/SQL Function Result Cache
Best practices—and preparation—for PL/SQL in Oracle Database 11
On Invokers and Outs
Best practices for invoker rights and functions.
On the Old, the New, and ORA-22160
Best practices for managing old and new information and preventing FORALL errors.
The Right Place for PL/SQL
Best practices for PL/SQL location, location, location
On Object Types in Collections
Best practices for retrieving objects and object attributes from objects
On Generics and Traces
Best practices for string procedures and tracing
On Conditional Compilation
Apply best practices to PL/SQL conditional compilation.
On Confusion and Recompilation
Apply best practices to program naming, recompiling invalid programs, and collecting.
On Variables, Moving, and Meaning
Apply best practices to cursor variables, bidirectional cursor access, and error messages.
Apply best practices to defining arrays and stripping strings.
Picking Your Packages
Know when—and when not—to package your PL/SQL.
Find and report your errors—by line number—in Oracle Database 10
Refactoring for PL/SQL Developers
Go beyond identifying best PL/SQL practices to create better code.
Better to Best NDS
Best-practice tips for using Native Dynamic SQL in Oracle Database 10
Controlling Mythological Code
Explode and decode the myths in your code.
The Beauty Is in the Details
Pay attention to the details in conditions, loops, and declarations, and create better code.
Follow self-managing databases with self-managing PL/SQL .
Cleaning Up PL/SQL Practices
Prioritize and apply PL/SQL best practices to polish applications both new and old
Adds More to FORALL
FORALL begins, BULK COLLECT builds, and VALUES OF excels.
Four simple guidelines for improving the quantity and quality of PL/SQL code you write
Taking Up Collections
Part 1 in a series that looks at enrichments to PL/SQL in Oracle Database 10
Handling Exceptional Behavior, Part II
Handle PL/SQL exceptions with best practices.
Managing Exceptional Behavior, Part 1
Handle PL/SQL exceptions with best practices.
Now you can index by strings and improve performance.
Catching Up on Filing
Release 2 UTL_FILE enhances file I/O.
Programming at Multiple Levels
Database lets you nest collections and create powerful data structures.
E-mail this page
Learn About Oracle Cloud
Get a Free Trial
Learn About PaaS
Learn About SaaS
Learn About IaaS
Learn About Java
Download Java for Consumers
Download Java for Developers
Java Resources for Developers
Java Cloud Service
Customer and Events
Explore and Read Customer Stories
All Oracle Events
Social Media Channels
Services and Store
Log In to My Oracle Support
Training and Certification
Become a Partner
Find a Partner Solution
Purchase from the Oracle Store
Contact and Chat
Hardware and Software, Engineered to Work Together
Oracle RSS Feed