微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

删除前从另一个表中删除 SQL Merge 语句

如何解决删除前从另一个表中删除 SQL Merge 语句

我有一个表:StudentHome,它对学生表有 fk 约束。所以当学生被删除时,我还需要从 StudentHome 中删除记录。当我使用纯删除语句时,我写了

Insert into Student 
select studentId,(other fields) from #Student

Delete sh
from StudenHome sh
left join #Student temps on temps.StudentId = sh.fkStudentId
where temps.studentId is null

Delete s
from Student s
left join #Student temps on temps.StudentId = s.studentId
where temps.studentId is null

但是,当我尝试使用merge语句时,在从student表中删除之前,我不确定如何从studenthome中删除记录。

merge into Student s
using #Student temps
on s.StudentID = temps.StudentId
when not matched by target then
insert ...
when not matched by source then

-- Delete from StudentHome 
delete; 

有没有办法实现上面的sudo代码,在我从student表中删除之前从表中删除:StudentHome?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。