Flower@12 Ответов: 2

Как написать триггер в SQL для 2 таблиц


I want to Write Trigger to Inserting A Table At the Same time Insert to B Table with Same Fields and Same Values.

Регистрироваться по следующей ссылке
https://www.c-sharpcorner.com/UploadFile/63f5c2/triggers-in-sql-server/[^]

Но я не могу понять мольбы никто не может мне помочь

Что я уже пробовал:

https://www.c-sharpcorner.com/UploadFile/63f5c2/triggers-in-sql-server/[^]

MadMyche

Являются ли структуры таблиц одинаковыми? Почему вы думаете, что триггер будет лучше, чем хранимая процедура? Вы хотите, чтобы вставка в таблице A отражала вставку в таблице B? А как насчет вставок в таблицу b? Каковы отношения между таблицами TableA и TableB? Существуют ли идентификационные поля, и нужно ли их также реплицировать?

[no name]

Таблица А и таблица в одинаковы но таблица В является таблицей истории таблицы А. потому что если какие либо изменения вносятся в таблицу а то значения обновляются в той же строке таблицы А. Но таблица в содержит все изменения таблицы а

2 Ответов

Рейтинг:
1

CHill60

Я тоже не нашел информацию по этой ссылке особенно ясной!

Это объясняет все лучше я думаю SQL Server: кодирование триггера After Insert в SQL Server[^] но этот Codeproject one, вероятно, лучше Триггеры -- SQL Server[^]
Это всегда хорошая идея, чтобы иметь действительные документы тоже на руку Создание триггера (Transact-SQL) | Microsoft Docs[^]

Если этого недостаточно, то слушайте более длинный список статей из CodeProject Поиск[^]

К сожалению, это не учебник форума, и ваш вопрос слишком расплывчат, чтобы помочь гораздо больше, чем это. Почему бы не попробовать и не написать какой-нибудь код? Вы можете вернуться с конкретным вопросом, и мы постараемся помочь.


Рейтинг:
0

MadMyche

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

Временные таблицы в основном делают то, что вы хотите по дизайну. У вас есть главная таблица, а затем таблица истории. Сгенерированная таблица истории будет содержать стандартизированные столбцы вместе с зеркалом вашей основной таблицы. Связывание и ведение журнала происходит автоматически
Временные Таблицы | Microsoft Docs[^]

Хранимые процедуры-это то, что я использую почти для всех операций CRUD из приложений. У вас просто есть возможность запускать несколько операторов SQL в одной команде; и это гораздо более гибко, поскольку вы сможете работать с несколькими группами таблиц одновременно. Это также позволит различать схемы таблиц, вы можете удалить некоторые столбцы из истории (например, "созданную" информацию) или из основной таблицы.


CHill60

5 б. Не в последнюю очередь за то, что заставил меня ознакомиться с материалом, который пришел вместе с SQL2016 :-)