У меня есть две таблицы в моем приложении (я пытаюсь создать средство отслеживания ошибок). Один, к которому я могу добавить запись / проблему, и тот, который предназначен для истории проблемы.
Итак, вторая таблица (Bugs_Shadow) создаст новую запись вместе с первой (Bugs), а затем я смогу обновить проблему в таблице 1, когда кто-то попытается исправить. Когда нажимается обновление, я хочу, чтобы оно добавляло строку обновления в целом во вторую таблицу, но также сохраняло исходную запись. Таким образом, всякий раз, когда вносятся изменения, создается новая запись в таблице Bugs_Shadow. Надеюсь это имеет смысл?
Я создал этот триггер:
CREATE TRIGGER [tr_Bugs_Insert]
ON [dbo].[Bugs]
AFTER UPDATE, INSERT
AS
BEGIN
INSERT INTO Bugs_Shadow (BugID, [User], Date, Subject, Description, [Source Code], [Current State])
SELECT BugID, [User], Date, Subject, Description, [Source Code], [Current State]
FROM Bugs
END
GO
Он работает до тех пор, пока создает идентичную запись во 2-й таблице, но когда я обновляю запись в 1-й таблице, она делает то же самое во 2-й, тогда как я хочу, чтобы она создала новую запись, которая идентична, за исключением изменений сделанный пользователем.
Надеюсь, там есть какая-то помощь. Это моя первая попытка триггеров, и мне потребовалось некоторое время, чтобы добраться до этой стадии.
Спасибо