En lagret procedure er et sæt af SQL-sætninger (og proceduremæssig logik) gemt i databasen og udført efter navn. Den kører logik indeni databasen i stedet for i applikationskode. De har virkelige fordele, men også betydelige afvejninger, så hvornår man skal bruge dem er en ægte designbeslutning.
En lagret procedure
transfer_funds(from_id , to_id , amount )
plpgsql $$
accounts balance balance amount id from_id;
accounts balance balance amount id to_id;
;
$$;
transfer_funds(, , );
