如何删除master,detail表中的行?

时间:2011-11-29 09:53:44

标签: sql-server-2005

我有4个表格假设:t1.idPKt2.idt3.idt4.idFK,现在, 如何删除所有表中的特定行(id)?

当然,我搜索过但我找不到答案而感到困惑!!!

请帮帮我。

2 个答案:

答案 0 :(得分:1)

您可以将t2,t3和t4上的异物更改为CASCADE DELETE.

因此,当在t1中删除一行时,它会自动从t2,t3和t4中删除子行

有时,您不能或不想要级联,因此您需要手动执行此操作,例如on cascade delete on a table with two FK to the same table

答案 1 :(得分:0)

   delete from t2 where t2.Id = <id> 
   delete from t3 where t3.Id = <id>
   delete from t4 where t4.Id = <id> 
   delete from t1 where t1.Id = <id>

不确定我是否误解了你的问题。但是从表中删除特定行只需要该行的id。此外,从父子关系模式中删除条目时,必须确保仅在删除所有子条目后才删除父表中的条目。