У меня есть две таблицы. Эти таблицы имеют два отношения между ними.
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)
Я знаю, что мог бы использовать ON DELETE SET NULL для table2. Таким образом, я мог бы затем найти все строки с нулевым значением в ID_XPTO2 и удалить их, но администратор БД не хочет его использовать.
Есть ли лучшее решение для этого процесса?