Twój problem polega na tym, że ten wyzwalacz uruchamia się PO usunięcie już się wydarzyło . Więc nie ma więcej wiersza w HashTags
do którego możesz dołączyć!
Zamiast tego musisz użyć tego wyzwalacza:
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
pseudotabela zawiera całe wiersze które zostały usunięte - nie ma potrzeby dołączania do niczego...
Ponadto:ten wyzwalacz uruchamia się po usunięciu — więc nie musisz nic robić samodzielnie, wewnątrz wyzwalacza — po prostu wstaw te bity informacji do tabeli archiwum — to wszystko. Wszystko inne jest obsługiwane przez SQL Server za Ciebie.