sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur får man namnet på den ändrade tabellen i en Postgres-händelseutlösare?

Variablerna som är tillgängliga för plpgsql i en trigger definieras här:

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

Vad jag inte kan säga från texten är hur många 'händelsevariabler' det finns. Visst finns det två:

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 skriva ut dessa i din funktion för att se om de innehåller den tabellinformation du letar efter. Dokumentationen visar ett gäng andra variabler som är för vanliga evenemang. Jag vet inte om de kommer att hjälpa, men kanske TG_TABLE_NAME är inställd?



  1. Jag vill att mysql-tabellen ska stödja två språk

  2. Arbeta med evenemang i MySQL

  3. 3 sätt att konvertera decimal till hexadecimal i SQL Server (T-SQL)

  4. Hur skickar man data till två tabeller med samma användar-ID som primärnyckel?