Procedury składowane w PostgreSQL/Język PLpgSQL/Bloki
Każda procedura musi zawierać dokładnie jeden blok kodu, bloki można zagnieżdżać.
Składnia:
[ <<etykieta>> ] [ DECLARE -- deklaracje zmiennych ] BEGIN -- lista instrukcji END [ etykieta ] ; -- UWAGA! średnik po END
Na potrzeby obsługi wyjątków wyjątków została rozszerzona o dodatkową część, EXCEPTION.
Część DECLARE, w której deklarowane są zmienne i stałe, jest opcjonalna.
Etykiety również są opcjonalne; końcowa etykieta nie jest wymagana, ale jeśli występuje musi być taka sama, jak początkowa.
Etykiety mogą się powtarzać.
Przykład
edytujBEGIN
<<zagniezdzony>>
DECLARE
...
BEGIN
...
END;
BEGIN
...
<<inny_blok>>
BEGIN
...
END inny_blok;
...
END;
END;