У меня вопрос о том, как лучше всего выполнить эту операцию: У меня есть база данных, предположим, что она имеет 4 таблицы (число таблиц может увеличиться намного выше), когда Я хочу выполнять любые операции CRUD (Insert, update, delete) для table1, table2 и table3. Я должен выполнять те же операции с таблицей 4, теперь таблица4 очень важна, поэтому я должен убедиться, что все операции являются точными и быстрыми, в конце концов это таблица будет использоваться для получения системных отчетов, поэтому мне нужно, чтобы это было быстро Теперь, какой из двух способов будет лучше:, что это лучший способ сделать эту операцию
-Первый метод происходит в базе данных, чтобы создать хранимую процедуру или вызвать и когда любая операция выполняется в любом таблица (таблица1, таблица2, таблица 3), это активирует триггер, который выполняет ту же операцию. В таблице 4
. Второй способ выполняется в программном коде (asp.net и C#), когда любая операция выполняется для любой таблицы (таблица1 , table2, table3) Я делаю ту же операцию в таблице4, используя класс или любой код для этого.
А что вещи, которые мы должны иметь в виду, когда мы выбираем в любом случае, такие как безопасность, размер базы данных, архитектуры приложений, и ... ..
благодаря
спасибо всем за ваш быстрый ответ ,,, я понимаю, что с помощью триггера является хорошим вариантом в какой-то момент, но я думал, что, если: Я создающих функцию (вставка/обновление/удаление) в tableC и эта функция может быть вызвана из любой хранимой процедуры, которая (вставка/обновление/удаление) tableA и tableB. Это позволило бы мне управлять одной функцией, если требуется изменение вместо изменения кода в каждой хранимой процедуре. Кроме того, я могу использовать транзакцию в каждой хранимой процедуре, чтобы данные были совместимы во всех таблицах. – students
Мне очень нравится ваша идея. Это позволяет избежать накладных расходов на использование триггеров и сохраняет один кусок кода (в функции или хранимой процедуре, вызываемой другими хранимыми процедурами), поэтому ее легко поддерживать. И тест. Кроме того, вы можете включить данные, недоступные для триггера, если это окажется желательным. Повезло тебе! – DOK