1

我可以在 ON DELETE CASCADE(user, orders) 之前使用一个过程来存储历史日志吗?

我想当我们/他们删除他们的帐户时,我想删除与用户关联的订单。我不相信这是最好的程序(因为订单表应该是它自己的实体),但是我想知道是否可以介入并将每个订单(历史)记录到 txt 文件或另一个表中。

问候

4

1 回答 1

1

不确定文件,但可以使用触发器将历史数据存储在另一个表中。这是代码。


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
于 2012-09-07T00:41:28.707 回答