表1:StudentID, StudentName
表2:DetailsID, StudentID, Gender, Age
我想删除Table1
中的记录,以便删除table2
中的所有记录。
非常感谢
答案 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
)