我有两张桌子。这些表之间有两个关系。
Table 1
* ID_XPTO (PK)
* Detail
Table 2
* ID_XPTO (FK) (PK)
* ID_XPTO2 (FK) (PK)
这两种关系是存在的。
Table 1 -< Table2
Table 1 -< Table2
我的问题是我需要删除表 1 中的一些行。我目前正在做,
declare @table Table (xptoTable2 int)
insert into @table
select ID_XPTO2
from Table2
where ID_XPTO = @ID_XPTO
delete from Table2
where ID_XPTO = @ID_XPTO
delete from Table
where ID_XPTO in (select xptoTable2from @table)
我知道我可以在 table2 上使用 ON DELETE SET NULL。这样我就可以在 ID_XPTO2 上搜索所有具有空值的行并删除它们,但 DBA 不想使用它。
有没有更好的解决方案来完成这个过程?