Oracle Database 12c

PL/SQL (Procedural Language extensions to SQL) is designed specifically for the seamless processing of SQL statements. PL/SQL program units are stored and compiled in the database, run within the Oracle executable and inherit 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. 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.

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


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.
BIWA Summit 2016

Oracle Database Cloud