Il tuo problema è:questo trigger si attiva DOPO l'eliminazione è già avvenuta . Quindi non ci sono più righe in HashTags
a cui potresti unirti!
Devi invece utilizzare questo trigger:
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
Il Deleted
pseudo tabella contiene le righe intere che sono stati eliminati - non c'è bisogno di partecipare a nulla...
Inoltre:questo trigger si attiva dopo che è avvenuta l'eliminazione, quindi non è necessario fare nulla da soli, all'interno del trigger:basta inserire quei bit di informazioni nella tabella di archivio - tutto qui. Tutto il resto è gestito da SQL Server per te.