Я работаю с базой данных SQL Server с ODBC, C ++.Я хочу обнаружить изменения в некоторых таблицах базы данных: другое приложение вставляет или обновляет строки, и я должен обнаружить все эти изменения.Это не должно быть немедленным триггером, допустимо использовать опрос для периодической проверки таблиц базы данных на предмет изменений.
Ниже приведен способ, которым я думаю, что это можно сделать, и вам нужно ваше мнение, является ли это стандартом/ правильный способ сделать это, или существуют лучшие подходы.
Я подумал о следующем: я добавляю триггеры в SQL Server, которые при любой модификации вставляют идентификаторы измененных / добавленных строкв специальную таблицу, которую я буду периодически проверять из моего заявления.Предположим, есть 3 таблицы: клиенты, продукты, услуги.я сделаю три дополнительные таблицы: Change_Customers, Change_Products, Change_Services и вставлю идентификаторы модифицированных строк соответствующих таблиц.Затем я периодически читаю эти таблицы Change_ * из своего приложения и удаляю обработанные записи.
Теперь, если вы согласны с тем, что вышеприведенное решение верное, у меня возникает другой вопрос: лучше ли иметь отдельные таблицы Change_ * для каждой измои таблицы, которые я хочу отслеживать, или лучше иметь одну полную таблицу изменений, которая будет содержать изменения из всех таблиц.