sql >> Database teknologi >  >> RDS >> PostgreSQL

Hvordan får man navnet på den ændrede tabel i en Postgres-hændelsestrigger?

De variabler, der er tilgængelige for plpgsql i en trigger, er defineret her:

http://www.postgresql .org/docs/9.3/static/plpgsql-trigger.html#PLPGSQL-EVENT-TRIGGER-EXAMPLE

Hvad jeg ikke kan se ud fra teksten er, hvor mange 'begivenhedsvariable' der er. Der er bestemt to:

TG_EVENT
Data type text; a string representing the event the trigger is fired for.

TG_TAG
Data type text; variable that contains the command tag for which the trigger is fired.

Du kan printe disse i din funktion for at se, om de indeholder de tabeloplysninger, du leder efter. Dokumentationen viser en masse andre variabler, der er til almindelige arrangementer. Jeg ved ikke, om de vil hjælpe, men måske er TG_TABLE_NAME indstillet?



  1. Sender kolonnenavn som en parameter i mysql-lagret funktion

  2. Hvordan IFNULL() virker i MariaDB

  3. Sådan bruges ST_Intersects i WHERE-klausulen

  4. Php-formular kontrolleret, når afkrydsningsfeltet værdi i array mysql forespørgsel?