Как я понимаю, ваша проблема заключается в том, что вы пытаетесь "абстрагировать" аудит нескольких таблиц таким образом, чтобы вы могли абстрагировать класс в ООП.
Хотя это отличный принцип разработки ООП, он падаетквартира в базах данных по нескольким причинам.Возможно, самой большой причиной является то, что, если вы не можете себе это представить, никому (даже вам), просматривающему это позже, будет нелегко пересобрать данные.Меньше, что это, хотя, то, что, хотя вы склонны думать о таблице как о контейнере и, следовательно, как об объекте, в действительности они представляют собой экземпляры этого гипотетического контейнера, которые вы пытаетесь собрать и работать лучше, если относитесь к ним как таковым,Создавая таблицу аудита, специфичную для таблицы или подмножества таблиц, которые имеют структурное сходство и сходство данных, вы повышаете производительность своей базы данных и не будете сталкиваться со странным триггером или выбирать связанные проблемы позже.
И вы не можете себе это представить не потому, что вы не очень хороши в том, что делаете, а скорее, структура не способствует ведению журнала базы данных.
Вместо этого я бы порекомендовал вам создать отдельное ведение журнала.таблицы, которые управляют аудитом каждой таблицы, которую вы хотите проверять или регистрировать.На самом деле, некоторые быстрые поиски в Google показывают множество сценариев, уже написанных для выполнения многих из этих задач: Пример одного такого поиска
Вам следует создать эти отдельные таблицы, а затем, если вы хотитеиметь возможность создавать отчеты по нескольким таблицам или даже по всем таблицам одновременно, вы можете создать хранимую процедуру (если вы хотите делать запросы на основе критерия) или представление с включенным оператором SELECT, который ОБЪЕДИНЯЕТ и / или ОБЪЕДИНЯЕТ интересующие вас таблицыв - таким образом, который имеет смысл для типа отчета.Вам все равно придется записывать новые объекты в представление, но даже с вашим первоначальным дизайном таблицы вам придется это учитывать.