sql >> Databáze >  >> RDS >> PostgreSQL

Zabraňte rekurzivnímu spouštění v PostgreSQL

To je to, co dělám v PostgreSQL 9.2, i když musím přiznat, že jsem tento přístup nenašel zdokumentovaný. Existuje funkce pg_trigger_depth() zde zdokumentováno, které používám k rozlišení mezi původními a vnořenými voláními ve spouštěči.

CREATE TRIGGER trg_taxonomic_positions
AFTER INSERT OR UPDATE OF taxonomic_position
ON taxon_concepts
FOR EACH ROW
WHEN (pg_trigger_depth() = 0)
EXECUTE PROCEDURE trg_taxonomic_positions()


  1. Příklady FLOOR() v SQL Server

  2. Vytvoření první offline aplikace pomocí Node.js a SQLite

  3. Mohl by někdo vysvětlit, co příkaz MERGE skutečně dělá v Oracle?

  4. Co je MEZI logickým operátorem v SQL Server - SQL Server / Výukový program TSQL, část 124