Vì một số lý do tôi không thể tìm thấy câu trả lời chính xác mà tôi cần. Tôi đã tìm kiếm trong 20 phút qua tại đây.INSERT giá trị đã xóa vào bảng trước DELETE với DELETE TRIGGER
Tôi biết nó đơn giản. Rất đơn giản. Nhưng tôi không thể bắn cò vì một lý do ..
Tôi có một bảng với hai cột
dbo.HashTags
|__Id_|_name_|
| 1 | Love |
Tôi muốn chèn các giá trị bị xóa vào bảng khác được gọi là dbo.HashTagsArchive
theo truy vấn DELETE
.
Ví dụ:
DELETE FROM [dbo].[HashTags] WHERE Id=1
Sau ví dụ này tôi nên có hàng xóa trong dbo.HashTagsArchive
và hàng với Id=1
nên bị xóa trong dbo.HashTags
tôi đã cố gắng TRIGGER này:
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
Nó nhận được Deleted
nhưng không có Inserted
hàng trong số HashTagsArchive
Cảm ơn! Hoạt động hoàn hảo! – Ofear