我目前有3个表定义为
Product = ProductID, ProductTitle, ProductStatus
Category = CategoryID, CategoryTitle
ProductInCategory = ProductID, CategoryID
ProductInCategory.ProductID
的FK为Product.ProductID
,而ProductInCategory.CategoryID
的FK为Category.CategoryID
。
目前,如果删除了产品或类别,则删除级联删除关系,我将如何进行此级联然后移动到联结表?即如果我删除了一个类别,请通过联结表删除与该类别相关联的所有产品,不用自己手动删除每个产品。
答案 0 :(得分:0)
也许ProductInCategory表上的触发器可以工作:
DROP TRIGGER remove_products
GO
CREATE TRIGGER remove_products
ON ProductInCategory
FOR DELETE
AS
DELETE FROM Product WHERE ProductID IN (SELECT ProductID FROM deleted);
GO
由于删除已经从Category级联到ProductInCategory,因此该触发器也应该删除相关产品。我假设您不想在从Product表中删除时删除类别。