Вашият проблем е:този тригер задейства СЛЕД изтриването вече се е случило . Така че няма повече ред в HashTags
към които можете да се присъедините!
Вместо това трябва да използвате този тригер:
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
псевдо таблицата съдържа целите редове които бяха изтрити - няма нужда да се присъединявате към нищо...
Освен това:този тригер се задейства, след като изтриването се случи - така че не е необходимо да правите нищо сами, вътре в тригера - просто вмъкнете тези битове информация във вашата архивна таблица - това е всичко. Всичко останало се обработва от SQL Server вместо вас.