PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak uzyskać nazwę zmienionej tabeli w wyzwalaczu zdarzenia Postgres?

Zmienne dostępne dla plpgsql w wyzwalaczu są zdefiniowane tutaj:

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

Z tekstu nie mogę powiedzieć, ile jest zmiennych „zdarzeń”. Z pewnością są dwa:

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.

Możesz wydrukować je w swojej funkcji, aby sprawdzić, czy zawierają informacje o tabeli, której szukasz. Dokumentacja pokazuje kilka innych zmiennych, które dotyczą zwykłych wydarzeń. Nie wiem, czy to pomoże, ale może TG_TABLE_NAME jest ustawione?



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Usuń alias w zapytaniach generowanych przez Slick

  2. Pule połączeń PostgreSQL:część 3 – Pgpool-II

  3. Nowo przypisana sekwencja nie działa

  4. problem z python manage.py migrate -> Brak modułu o nazwie psycopg2

  5. Wydajność skanowania sterty bitmapowej