Oracle Database 12c
PL/SQL

PL/SQL (Procedural Language extensions to SQL) is designed specifically for the seamless processing of SQL commands. PL/SQL stored and compiled in the database, runs within the Oracle executable and inherits the robustness, security, and portability of the Oracle Database.

Build your PL/SQL Knowledge

Join the PL/SQL Challenge community and try out these PL/SQL quizzes, learn as you go.

Getting Started With PL/SQL

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.

Building and Managing PL/SQL Program Units

Building with Blocks   PL/SQL is a block-structured language; familiarity with blocks is critical to writing good code.

Controlling the Flow of Execution  Conditional branching and iterative processing in PL/SQL

Wrap Your Code in a Neat Package  Packages are the fundamental building blocks of any high quality PL/SQL-based application

Picking Your Packages 
Concepts and benefits of PL/SQL packages

Error Management  An exploration of error management features in PL/SQL

The Data Dictionary: Make Views Work for You Use several key data dictionary views to analyze and manage your code

PL/SQL Datatypes

Working with Strings in PL/SQL
  PL/SQL offers several different string datatypes for use in your applications

Working with Numbers in PL/SQL  Learn about and how to use the different numeric types in PL/SQL. 
 
Working with Dates in PL/SQL  Dates are a relatively complex scalar datatype, in both SQL and PL/SQL
 
Working with Records
  A very common and useful composite type, PL/SQL's analogue to a table's row

Working with Collections PL/SQL's implementation of arrays plays a role in almost every key performance feature of PL/SQL

SQL in PL/SQL

Working with Cursors  PL/SQL cursors make it easy for you to manipulate the contents of database tables
 
Bulk Processing with BULK COLLECT and FORALL  The most important performance feature in PL/SQL related to executing SQL

Practically Perfect PL/SQL with Steven Feuerstein

Practically Perfect PL/SQL (P3) offers videos on PL/SQL by Steven Feuerstein, Oracle Developer Advocate for PL/SQL and author of Oracle PL/SQL Programming.

Getting Rid of Hard-Coding in PL/SQL
This first playlist of P3 explores the various forms of hard-coding that can appear in PL/SQL, and how best to get rid of them.