Вставить репликацию без использования триггеров - PullRequest
3 голосов
/ 01 декабря 2011

У меня есть две таблицы tabA и tabB, которые идентичны. Я хочу создать механизм, который будет каждый раз вставлять новую строку в tabA строка также должна быть «автоматически» вставлена ​​в rowB. Если строки удалены в tabA ничего не должно происходить в tabB.

Я использовал триггеры вставки для этого, но у меня были некоторые проблемы. У меня также есть некоторые комментарии, что триггеры не должны использоваться для этого.

Итак, что я должен использовать? Материализованные представления требуют, чтобы tabA и tabB были одинаковыми.

Ответы [ 2 ]

5 голосов
/ 01 декабря 2011

В идеальном мире нужно стремиться изолировать изменения таблиц в одном программном модуле, чтобы единообразно применять такие требования бизнес-логики, как это, без влияния на существующий код, который управляет вставками. Тем не менее, часто это не лучшее решение на практике из-за разбросанных вставок по всему приложению. В этом случае, хотя и не оптимально, триггер вставки может легко рассматриваться как наиболее прагматичное решение.

2 голосов
/ 01 декабря 2011

Вы можете написать хранимую процедуру, которая принимает значения столбца в качестве параметров, а затем применяет INSERT к tabA и tabB.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...