Wednesday, April 01, 2020
Why use PL/SQL?
The success of any serious software system depends critically on adhering to the principles of modular decomposition – principles that are as old as computer science itself. A module encapsulates a coherent set of functionality, exposing it using an interface that exactly maps the functions it supports, and scrupulously hiding all implementation details. No-one would dream of challenging these notions – unless one of the major modules is a relational database!
Bryn Llewellyn, Distinguished Product Manager
The structure of the tables, the rules that constrain their rows, and the SQL statements that read and change the rows are the implementation details. And Oracle Database provides PL/SQL subprograms to express the interface.
Yet many customers avoid stored procedures. They claim that PL/SQL in the database can't be patched without unacceptable downtime; that the datatypes for passing row sets between the client-side code and the database PL/SQL are cumbersome to use and bring performance problems; and that it's impractical to give each developer a private sandbox within which to make changes to database PL/SQL. These notions are myths; they are no less defensible than the myth that technology whose name doesn't start with "J" or "No" is too old-fashioned to be useful.
Customers who do hide their SQL behind a PL/SQL interface are happy with the correctness, maintainability, security, and performance of their applications. Ironically, customers who follow the NoPlsql religion suffer in each of these areas.
This session provides PL/SQL devotees with unassailable arguments to defend their beliefs against attacks from skeptics. I hope that skeptics who attend will experience an epiphany.
Bryn Llewellyn is a Distinguished Product Manager at Oracle Corporation, responsible for PL/SQL and Edition-Based Redefinition. Bryn has been with Oracle for over 25 years and is currently based at their Headquarters in Redwood Shores, CA. With a background in Experimental Physics and Mathematics, Bryn is not known for his brevity, but he is known for the precision with which he expresses his thoughts. Steven Feuerstein, often regarded as the ultimate PL/SQL guru, says on his blog, "Bryn surely has the most thorough and clear understanding of the PL/SQL language of anyone I have met (definitely including me)."