Oracle PL/SQL By Example, 6th Ed |
Author: Elena Rakhimov This is the sixth edition of a well established title that has been updated for the latest version of PL/SQL (21c). The book opens with a checklist of the new features in Oracle 21c before the actual opening chapter that introduces PL/SQL concepts - the architecture, development environment, and essential concepts such as substitution variables and the use of the output.put_line statement to display information. As you can tell from the essential concepts, this isn't really a book for beginners; the author a ssumes you can deal with Oracle's environment, but there again, Oracle itself isn't a beginner's database. The next chapter looks at PL/SQL fundamentals - the language components, anchored datatypes, and the scope of variables, blocks, nested blocks and labels. By chapter three, Rakhimov is on to what most people would see as the heart of PL/SQL - the SQL statements and transaction control. Rakhimov then has chapters on IF and CASE statements, followed by two chapters on loops. The next three chapters deal with error handling and exceptions. By Chapter 11, Rakhimov has moved on to cursors, with two chapters explaining basic and advanced cursors. The chapter on basic cursors introduces implicit and explicit cursors, table-based and cursor-based record types, cursor For loops and nested cursors. The advanced chapter looks at passing parameters to cursors, cursor variable and expressions, and how to use For Update cursors. There's a good chapter on triggers that starts from the basics and goes as far as row and statement triggers, and Instead of triggers. This is followed by a chapter on mutating tables and compound triggers. Collections and records are tackled next, with descriptions of varrays, multidimensional collections, and nested records. This is followed by a chapter titled Native Dynamic SQL that introduces Execute Immediate statements, along with Open For and Fetch statements and how to use them. The concept of bulk SQL, specifically the use of ForAll and Bulk Collect statements to carry out batch processing, is covered next. Classic SQL procedures and functions are covered well in the next two chapters before Rakhimov moves on to how to create and use packages, collections of procedures, functions and cursors. There's a chapter on advanced concepts of stored code that introduces subprogram overloading, result cached functions, and invoking PL/SQL functions from SQL statements. This chapter had extensive example code, but I'd have liked to have seen more explanations alongside it. Two chapters on object types come next, the first introducing object types, the second looking at how to store object types in tables. The book closes with a chapter on the use of dynamic SQL with the DBMS_SQL package as an alternative to native dynamic SQL. If you're familiar with an earlier edition of the book, it's worth saying that quite a lot of the chapters in this edition have been updated with new labs, code examples and explanations. The more advanced ideas in Oracle 21c, including blockchain tables and machine learning algorithms have also been included. Overall, the usefulness of this book depends on where you're starting from. It isn't a book for beginners, and while the explanations are clear if you understand the concepts, there are times when they seem to mimic what the documentation says rather than providing more. It covers the main topics you're likely to want to read about if you're learning PL/SQL, but it will be more useful for a developer who already knows how to work with a different SQL server. Related ReviewsOracle PL/SQL by Example, 5th Ed To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.
|