INSERT deleted values into a table before DELETE with a DELETE TRIGGER
Your problem is: this trigger fires AFTER the delete has already happened. So there is no more row in HashTags
which you could join on!
You need to use this trigger instead:
ALTER TRIGGER [dbo].[HashTags_BeforeDelete] ON [dbo].[HashTags] FOR DELETEAS BEGIN INSERT INTO HashTagsArchive(Id, HashTagId, delete_date) SELECT d.Id, d.HashTagId, GETUTCDATE() FROM deleted d ENDGO
The Deleted
pseudo table contains the whole row(s) that were deleted - no need to join on anything...
Also: this trigger fires after the delete has happened - so you don't need to do anything yourself, inside the trigger - just insert those bits of information into your archive table - that's all. Everything else is handled by SQL Server for you.