出于某种原因,我找不到我需要的确切答案。我在这里搜索了最后20分钟。
我知道这很简单。非常简单。但是由于某种原因我无法触发触发器..
我有一个有两列的表
dbo.HashTags
|__Id_|_name_|
| 1 | Love |
我想将删除的值插入另一个查询调用dbo.HashTagsArchive
的表中DELETE
。
例子:
DELETE FROM [dbo].[HashTags] WHERE Id=1
在这个例子之后,我应该有删除dbo.HashTagsArchive
的行,并且Id=1
应该删除的行dbo.HashTags
我试过这个触发器:
ALTER TRIGGER [dbo].[HashTags_BeforeDelete]
ON [dbo].[HashTags]
FOR DELETE
AS
BEGIN
INSERT INTO HashTagsArchive
( Id,
HashTagId,
delete_date)
SELECT d.Id, m.HashTagId,GETUTCDATE() FROM deleted d
JOIN dbo.HashTags m ON m.Id=d.Id
DELETE FROM dbo.HashTags
WHERE ID IN(SELECT deleted.Id FROM deleted)
END
GO
它得到Deleted
但没有Inserted
行HashTagsArchive