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