PL/SQL is a procedural language designed specifically to embrace SQL statements within its syntax. PL/SQL program units are compiled by the Oracle Database server and are stored inside the database. And at run-time, both PL/SQL and SQL run within the same server process, bringing optimal efficiency. PL/SQL automatically inherits the robustness, security, and portability of the Oracle Database.
An application that uses Oracle Database is worthless unless only correct and complete data is persisted. The time-honored way to ensure this is to expose the database only via an interface that hides the implementation details -- the tables and the SQL statements that operate on these. This approach is generally called the thick database paradigm, because PL/SQL subprograms inside the database issue the SQL statements from code that implements the surrounding business logic; and because the data can be changed and viewed only through a PL/SQL interface.
Bryn Llewellyn, Distinguished Product Manager for PL/SQL and Edition-based Redefinition, explains the thick database approach in detail in his "Why use PL/SQL?" whitepaper.
Join the PL/SQL Challenge community and try out these PL/SQL quizzes, learn as you go. You can choose to play competitively, ranking yourself against hundreds of other developers from around the world, or play simply to depend your experience.
Read the Freedom, Order, and PL/SQL Optimization whitepaper on PL/SQL's powerful optimizer, the go-to document for any questions regarding the behavior of PL/SQL programs compiled at optimize levels higher than 1.
Steven Feuerstein published a series of "PL/SQL 101" articles in Oracle Magazine to help developers new to PL/SQL quickly come up to speed on the language. We offer links to those (and other) articles below.