Для веб-приложения, где удаление записей происходит часто, что является лучшим, если принять во внимание эффективность?Предварительная или пост проверка при удалении записей из таблицы
проверить, имеет ли запись какое-либо переименование с другими таблицами и не позволяет пользователю удалять.
например: запрос будет как этот
if not exist(select * from table1 where tableX_id = @id) and not exist(select * from table2 where tableX_id = @id) ... then delete from tableX where id = @id
или
выполнить
delete
и пусть СУБД RAIS ошибку из-заforiegn key
ограниченияtry{ Service.DeleteRecord(id) }catch{ Handle the error here }
в этом случае запрос будет простой
delete from TableX where id = @id
Почему вы не можете использовать каскадное удаление в связанных таблицах? – Arion
@Arion Я не хочу удалять записи, упомянутые в других таблицах –
Почему вы этого не хотите? Я имею в виду, что вам не нужно ничего проверять при удалении. Вам не нужно ломать никаких ошибок. Вы можете просто оставить sql-server сделать это «job» – Arion