Проверка данных перед обновлением SQL

Я переключаюсь с использования обработки модели фреймворка на использование прямого SQL с целью повышения производительности. Фреймворк будет обрабатывать обновление и вставку модели, и теперь у меня возникают трудности с проверкой.

Я обновляю модель с несколькими связями, структура позволяет всем запросам терпеть неудачу, если один терпит неудачу. Я пытаюсь подражать этому с несколькими запросами.

Как проверить правильность нескольких таблиц, прежде чем начинать записывать какие-либо данные в базу данных для обновления и создания функций? Дополнительная сложность в запросах на создание заключается в том, что для таблиц взаимосвязей необходимо, чтобы идентификатор первой создавался первым, или действительность ключа, который игнорируется в запросах.

1 ответ

Решение

Обычно вы делаете это с помощью комбинации ограничений и транзакций. Создайте PK, FK и проверьте ограничения по мере необходимости. Возможно также создать триггеры времени обновления, если вы хотите убедиться, что вы не перезаписываете строку, которую только что изменил другой пользователь. Если при вставке, обновлении или удалении возникает ошибка, откатите транзакцию (или обработайте ее).

Другие вопросы по тегам