Как получить имя таблицы в триггерной функции PostgreSQL? - программирование
Подтвердить что ты не робот

Как получить имя таблицы в триггерной функции PostgreSQL?

У меня есть триггерная функция:

CREATE OR REPLACE FUNCTION "trigger_deleteUsers"()
RETURNS trigger AS
$BODY$
BEGIN
    INSERT INTO "DeletedEntities" ("uuidKey", "dateCreated", "dateModified", "dateSynced", "username", "entityName")
         VALUES (OLD."uuidKey", OLD."dateCreated", OLD."dateModified", "dateSynced", OLD."username", 'Users');
    RETURN NULL;
END;
$BODY$
LANGUAGE plpgsql;

CREATE TRIGGER "deleteUsers" AFTER DELETE ON "Users" FOR EACH ROW EXECUTE PROCEDURE "trigger_deleteUsers"();

Это работает для таблицы "Пользователи". Каждый раз, когда я удаляю строку из таблицы "Пользователи", база данных вставляет строку с "uuidKey", "dateCreated", "dateModified", "dateSynced", "username", "entityName" ) в таблицу "DeletedEntities", которая Я буду использовать для синхронизации позже.

Вышеупомянутые работы. Здесь у меня проблема, у меня около двух десятков таблиц. Я знаю, что мне нужно СОЗДАТЬ ТРИГГЕР на каждой таблице, но я не хочу создавать настраиваемую триггерную функцию для каждой таблицы. Единственное, что изменилось бы от первой функции выше, - это последнее значение в инструкции INSERT внутри функции; вместо "Users" это будут "Ledgers", или "Journal", или что-то еще.

Внутри триггерной функции PostgreSQL, как мне получить имя таблицы, в которую также входит строка OLD?

4b9b3361