删除具有2个条件的多行

时间:2013-03-25 13:56:21

标签: sql-server-2008

我有一个如下表


CategoryGroup

  • int product_group_id(PK)
  • nvarchar(300)product_group_en_name
  • int parent_group_id

现在我有这样的表

product_group_id -- product_group_en_name -- parent_group_id
    1                    Phones                Null   <----  category name
    2                    LapTops               Null   <----  category name
    3                    Nokia x3               1  <---- product under Phones Category
    4                    HP probook             2  <---- product under LapTops Category

这里我想要的(当我删除类别时,我希望删除该类别下的所有产品)

2 个答案:

答案 0 :(得分:2)

使用Cascading Referential Integrity Constraint

ON DELETE CASCADE

其中:

  

指定是否尝试使用键删除行   外键在其他表的现有行中引用,所有行   包含这些外键的也会被删除。

定义此外键parent_group_id

答案 1 :(得分:0)

您可以使用选项DELETE CASCADE将外键添加到第二个表。见http://www.mssqltips.com/sqlservertip/2743/using-delete-cascade-option-for-foreign-keys/