Как проверить, что строка может быть удалена до удаления строки? Это похоже на разработку новой функции CanDelete (RowID).SQL Server - Как проверить строку можно удалить до удаления
У меня есть СПИСОК этих таблиц в другой таблице для некоторых строк.
В одном случае я могу это сделать, поймав исключение. Есть ли лучший способ?
По сути, вы не можете заранее знать, будет ли сделка успешной или нет. Даже если ни одна строка в другой таблице не ссылается на указанную строку, может быть добавлена другая строка, которая ссылается на нее между проверенным временем и временем, которое вы пытаетесь удалить. Сказав это, вы можете написать запрос, который подсчитывает количество строк в другой таблице, которые ссылаются на строку, которую вы хотите удалить, но это не надежное решение (и может быть медленнее, чем просто обработка исключения в первом место). – Cameron
Запишите удаление в качестве хранимой процедуры или вместо триггера Delete с логикой для проверки внешних ключей перед удалением. – Crowcoder