0

我目前有 3 个表定义为

Product = ProductID, ProductTitle, ProductStatus
Category = CategoryID, CategoryTitle
ProductInCategory = ProductID, CategoryID

ProductInCategory.ProductID是 的 FK Product.ProductID,并且ProductInCategory.CategoryID是 的 FK Category.CategoryID

目前,如果删除产品或类别,on delete 级联会删除关系,我将如何让这个级联然后跨联表移动?即,如果我删除一个类别,则通过联结表删除与该类别关联的所有产品,而无需自己手动删除每个产品。

4

1 回答 1

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 表中删除时不想删除类别。

于 2013-07-29T11:52:46.113 回答