如何从表1中删除Table1和行

时间:2014-01-27 11:27:54

标签: c# sql-server

表1:StudentID, StudentName 表2:DetailsID, StudentID, Gender, Age

我想删除Table1中的记录,以便删除table2中的所有记录。

非常感谢

2 个答案:

答案 0 :(得分:2)

您应该改变您的Table2以使用外键Keyint在级联中删除,并且您之前不应该使用Shoban,Hamlet Hakobyan和Peter Smith的学生名称。

ALTER TABLE Table2   WITH CHECK 
ADD CONSTRAINT [FK_Table2_Table1] FOREIGN KEY([StudentID])
REFERENCES [dbo].[Table1] ([StudentID])
ON DELETE CASCADE

然后当您删除Table1中的Student时,表2中具有相同StudentId的行将自动删除。

在Table2中,您不需要StudentName,如果StudentId已正确填充,您可以删除Table2中的StudentName列,因为它已存在于Table1中。

ALTER Table Table1 drop column StudentName

答案 1 :(得分:0)

您需要关注SQL代码吗?

delete from table1
where exists (
    select * from table2 where table2.StudentName = Table1.StudentName
)