Masalah Anda adalah:pemicu ini menyala SETELAH penghapusan sudah terjadi . Jadi tidak ada lagi baris di HashTags
yang bisa Anda ikuti!
Anda perlu menggunakan pemicu ini sebagai gantinya:
ALTER TRIGGER [dbo].[HashTags_BeforeDelete]
ON [dbo].[HashTags]
FOR DELETE
AS
BEGIN
INSERT INTO HashTagsArchive(Id, HashTagId, delete_date)
SELECT
d.Id, d.HashTagId, GETUTCDATE()
FROM deleted d
END
GO
Deleted
tabel semu berisi seluruh baris yang telah dihapus - tidak perlu bergabung dengan apa pun...
Juga:pemicu ini menyala setelah penghapusan terjadi - jadi Anda tidak perlu melakukan apa pun sendiri, di dalam pemicu - cukup masukkan bit informasi itu ke tabel arsip Anda - itu saja. Segala sesuatu yang lain ditangani oleh SQL Server untuk Anda.