Function
SELECT my_function()
- mají návratovou hodnotu, nemohou obsahovat
COMMIT
či ROLLBACK
- fungují v rámci jedné transakce, ve které byly zavolané
- dá se volat v PL/pgSQL kódu (viz pgSQL)
Procedure
CALL jmeno_procedury()
- vrací se jenom stav, jestli se povedla/nepovedla
- návratové hodnoty se dají vrátit přes
OUT
nebo INOUT
parametry
- dají se pomocí nich řídit transakce - mohu používat
COMMIT
a ROLLBACK
- můžu s nimi dělat větší transakční řízení, dávkové úlohy apod.
Trigger
- mechanismus automatického spuštění kódu, když se stane nějaká akce či událost (např.
INSERT, DELETE, UPDATE...
)
- trigger může spustit Function před/po provedení triggrovací akce