Váš problém je:tento spouštěč se spustí PO k odstranění již došlo . Takže v HashTags
už není žádný řádek ke kterému se můžete připojit!
Místo toho musíte použít tento spouštěč:
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
pseudo tabulka obsahuje celý řádek(y) které byly smazány – není třeba se k ničemu připojovat...
Také:tento spouštěč se spustí poté, co došlo k odstranění - takže nemusíte nic dělat sami, uvnitř spouštěče - stačí vložit tyto kousky informací do tabulky archivu - to je vše. Vše ostatní za vás vyřídí SQL Server.