Votre problème est :ce déclencheur se déclenche APRÈS la suppression a déjà eu lieu . Il n'y a donc plus de ligne dans HashTags
sur lequel vous pourriez vous joindre !
Vous devez utiliser ce déclencheur à la place :
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
Le Deleted
la pseudo table contient la ligne(s) entière(s) qui ont été supprimés - pas besoin de se joindre à quoi que ce soit...
Aussi:ce déclencheur se déclenche après la suppression - vous n'avez donc rien à faire vous-même, à l'intérieur du déclencheur - insérez simplement ces informations dans votre table d'archive - c'est tout. Tout le reste est géré par SQL Server pour vous.