Есть ли способ в SQL Server удалять каждую удаляемую строку (не имеет внешних ключей, предотвращающих удаление), не имея необходимости знать каждую ссылку на внешний ключ?Как удалить каждую строку, которую можно удалить?
Я знаю, что я могу проверить с WHERE ID NOT IN (..)
или LEFT OUTER JOIN
для каждого ограничения, но есть что-то вроде
DELETE * FROM MyTable WITH CONTINUE_ON_ERROR
что бы просто попытаться удалить каждую запись, и если происходит ошибка игнорировать его и продолжить со следующей запись без возврата транзакции?
Нет, такой функции нет. Если вы хотите удалить, это * ваша работа *, чтобы убедиться, что эти строки не указаны где-то –
Похоже на странный запрос. Откуда вы знаете, что вы не удаляете FK, который не используется сегодня, но вам может понадобиться это в будущем? – Paparazzi
Я отредактировал ваш заголовок. Пожалуйста, смотрите: «Если вопросы включают« теги »в их названиях?] (Http://meta.stackexchange.com/questions/19190/), где консенсус« нет, они не должны ». –