在ON DELETE CASCADE(用户、订单)之前,我可以使用一个过程来存储历史日志吗?
我想当我们/他们删除他们的帐户时,我想删除与用户关联的订单。我不相信这是最好的过程(因为订单表应该是它自己的实体),但我想知道是否可以介入并将每个订单(历史记录)记录到一个txt文件或另一个表中。
问候
不确定文件,但可以使用触发器将历史数据存储在另一个表中。这是代码。
CREATE TRIGGER LOGORDERS
ON USERS
INSTEAD OF DELETE
AS
DECLARE @UID INT
SELECT @UID = UserID FROM DELETED
INSERT INTO OrderLog(OrderItemName, UserID) SELECT OrderItemName, UserID FROM ORDERS WHERE UserID = @UID
DELETE FROM ORDERS WHERE UserID = @UID
DELETE FROM USERS WHERE UserID = @UID
GO