PL/SQL oznacza proceduralny SQL – rozszerzenie języka SQL umożliwiające tworzenie konstrukcji takich jak pętle, instrukcje warunkowe oraz zmienne. Jest używany w Oracle Forms i w bazie Oracle Database do tworzenia wyzwalaczy, procedur i funkcji.

PL/SQL składniowo nawiązuje do Ady, jest jednym z trzech języków wbudowanych w bazę danych Oracle, pozostałe dwa to SQL i Java.

PL/SQL stanowi wbudowany język proceduralny baz danych Oracle. Inne bazy danych zwykle mają odpowiedniki języka proceduralnego, np. PL/pgSQL w PostgreSQL.

Historia PL/SQL pierwszy raz pojawił się w Oracle Forms v3. Parę lat później został zawarty w bazie danych Oracle v7 (do tworzenia procedur, funkcji, pakietów, wyzwalaczy i bloków anonimowych), następnie w Oracle Reports v2.

Podstawowa struktura kodu Kod PL/SQL składa się z bloków, które ogólnie rzecz biorąc mają formę:

DECLARE -- blok deklaracji (opcjonalnie) BEGIN -- blok programu EXCEPTION -- obsługa wyjątków (opcjonalnie) END /* Przykładowy komentarz w wielu liniach...