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

edytuj
BEGIN
    <<zagniezdzony>>
    DECLARE
        ...
    BEGIN
        ...
    END;

    BEGIN
        ...

        <<inny_blok>>
        BEGIN
            ...
        END inny_blok;
        ...
    END;
END;