我有两张桌子。销售与SaleProducts
SaleProducts包含有销售的所有产品。
1销售,很多产品。(一对多)
SaleProducts
与Sale
有关系,在删除时设置为CASCADE
。
当我删除销售时,它会删除所有与SaleProducts
相关的Sale
(因为删除级联)。
我是否可以定义一个像ON DELETE
这样的触发器,在删除之前复制所有行到一个相同的Sale和SaleProducts表中以保存历史记录?
发布于 2018-08-01 05:45:59
在main (Sale)表上定义触发器BEFORE DELETE
,该表将将所有记录从从表(SaleProducts)表复制到存档表,该表可以通过级联操作删除。
定义AFTER DELETE
触发器,它将复制从主表中删除的记录。
如果这两份档案中都有记录,则删除已执行。两个存档表中的所有记录都是有效的。
如果SaleProducts存档中有记录,而Sale归档中没有适当的记录--由于某些错误而没有执行删除操作,那么必须从SaleProducts归档表中删除这些记录。
https://dba.stackexchange.com/questions/213773
复制相似问题