Как вставить данные из 2 связанных таблиц в другие 2 связанные таблицы с помощью триггеров? - PullRequest
0 голосов
/ 27 февраля 2020

Мне нужна помощь с этим ..

У меня есть 2 таблицы, которые связаны отношением один ко многим.

Таблица 1:

IDHeader(PK), name, number,..... so on

Таблица 2:

IDItem(PK), IDHeader(FK), names, numbers,... so on..

Я создал 2 идентичные таблицы, которые служат «резервными» таблицами:

Резервная таблица 1:

Backup ID, IDHeader, name, number,..... so on

Резервная таблица 2 :

Backup ID, IDItem, IDHeader, name, number,..... so on

(Примечание: я добавил BackupID, чтобы в этих таблицах резервных копий было отношение PK - FK. Или это неправильно? Я могу использовать исходные отношения из исходных таблиц? Если да, как заполнить резервные таблицы и сохранить отношения)

Теперь первые 2 таблицы практически идентичны "резервным" таблицам. Они различаются только в нескольких дополнительных столбцах.

Первые 2 таблицы имеют отношения, и они работают нормально (они заполнены данными из SharePoint, но это сейчас не важно).

Я написал триггер для Таблицы 1, который будет копировать данные из него в его часть счетчика резервных копий. Так что триггер, который заполняет резервную таблицу 1 данными из таблицы 1 ..

Я тоже написал tr igger на Table2, который делает то же самое, скопируйте из Таблицы 2 в Резервную таблицу 2 ..

Мой вопрос:

Как вставить данные из Таблицы1 и Таблицы2 в Резервную таблицу 1 и Резервную таблицу 2, так что эти таблицы резервного копирования имеют отношения как таблицы 1 и 2 ...

Я довольно новичок в SQL, так что мне интересно, можно ли такого рода вещи выполнять программно с помощью триггеров? Должно ли быть 2 триггера для каждой таблицы или 1 триггер в Таблице 1, который также будет заполнять данные, такие как: Таблица 1 -> Резервная копия Таблица 1 | Таблица 2 -> Резервная таблица 2

Я использую GUID для идентификаторов (я знаю, но не моя идея)

Любые комментарии, рекомендации или другой подход или решение приветствуются !!

Извините за длинный текст!

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