Below are the recordings from the PL/SQL by Feuerstein Webinar Series. Check back to see the newest recordings as they are added. Click here to register for the upcoming webinars in the series.


How and When to Write SQL in PL/SQL
*hosted by Oracle Corporation

PL/SQL makes writing SQL so darned easy – in fact, it is way too easy to write SQL. As a result, PL/SQL developers take SQL totally for granted, and very few organizations have any sort of guidelines in place for when, where and how to write SQL. The result? The same or similar SQL statements repeated throughout the application, making it very hard to optimize and maintain the code. This webinar starts by reviewing the role of SQL in PL/SQL applications, and the key challenges involved when writing SQL. We then step through the most important best practices for SQL construction, ranging from avoiding SQL repetition to full qualification of variable and column names. After attending this webinar, you will be well positioned to establish and follow a set of guidelines for SQL construction that will have a significant impact on application performance and maintainability.


How to Write PL/SQL Code You Can Actually Read
*hosted by Oracle Corporation

Software managers are very good at putting pressure on developers to "get the job done" as quickly as possible, so as to meet usually unrealistic deadlines. The end result? Software with way too many bugs in it and applications that require lots of resources simply to fix those bugs and maintain the code. If we are going to build and deploy successful applications, we have to think not only about getting that application in production today but also the cost of keeping it in production (and meeting user needs) for years to come. This session offers a range of tips and techniques to improve the readability of your code and make it easier to maintain/evolve that code over time. This webinar offers a wide-ranging set of techniques to make your code easy to understand and maintain over time. These techniques include: the use of subtypes and local modules; how to activate and check compliance with standards; and encapsulation (information hiding). After attending this webinar, you will be able to write code that minimizes the amount of development resources needed to maintain that code


Bulletproof Your PL/SQL Program Units
*hosted by Oracle Corporation

Consistent, robust error management is a critical feature of any successful application. Developers need to know all that is possible in PL/SQL regarding the raising, handling, and logging of errors, and that standardize the way in which those tasks are performed. This webinar goes beyond the basics of exception handling in PL/SQL to explore the wide range of specialized error management features in Oracle. We will cover FORALL's SAVE EXCEPTIONS, DML error logging with the DBMS_ERRLOG package, the AFTERSERVERERROR trigger, the DBMS_UTILITY.FORMAT_ERROR_BACKTRACE function, and more. In addition to covering error-related functionality, we'll also take a look at using assertion procedures to validate assumptions and execution tracing to better understand what is happening in your code. After attending this webinar, you will be able to take advantage of PL/SQL error management features, making it easier to identify the sources of problems and fix them more rapidly.

Recording coming soon!


All About the Function Result Cache

The function result cache, added in Oracle Database 11g, offers developers a way to dramatically reduce the amount of time it takes to retrieve data requested repeatedly by database sessions (specifically, when the same rows of a table are fetched much more frequently than they are changed). This cache is stored in the SGA, shared across all sessions in the instance, and automatically purged of "dirty data" by the Oracle Database. Every application running on 11.1 or higher should be taking advantage of this feature. Best of all, there is minimal impact on your code to start using this feature.


Turbocharge Your PL/SQL Code with Bulk Processing

This session focuses on how to turbocharge the performance of multi-row SQL statements executed from within a PL/SQL using FORALL and BULK COLLECT. These features have been around since Oracle 8i, but many developers still don't use them or only scratch the surface of what is possible.
The bulk processing webinar will focus on why these features were needed and how they work. Steven will start with simple examples and syntax and drill down into all nuances, including the LIMIT clause for BULK COLLECT and the SAVE EXCEPTIONS, INDICES OF, and VALUES OF clauses for FORALL.
After attending this webinar, you will be able to both create new programs built around these features and also redesign existing programs safely to improve performance.


Ten (Other) Top Tips for Improving PL/SQL Performance

Bulk processing (FORALL and BULK COLLECT), along with the function result cache, are the "big ticket" items when it comes to performance optimization with PL/SQL. But there's still more we can do to tweak our code for even better response times for our users. This third webast in the series starts with the automatic compiler optimization, showcases the extraordinary speediness of PGA data manipulation (a.k.a., package variables), and demonstrates the effect of the simple NOCOPY hint. We finish up with an introduction to pipelined table functions and some thoughts on optimizing your algorithms.