Я искал какое-либо предложение или хороший подход для обработки сообщений между уровнем данных и приложениями, что я имею в виду, когда при использовании процедур хранилища или даже при использовании прямых операторов SQL в приложении должен быть способ, которым данныеУровень уведомляет верхние уровни о результатах оператора / операции, по крайней мере, организованным способом.
Я обычно использую две переменные в каждой процедуре хранения:
@code INT,
@message VARCHAR(1024)
Я помещаю операторы DML внутриTRY CATCH
блок и в конце блока try установите обе переменные в определенное состояние, означающее, что все прошло нормально, так как вы можете подумать, что я делаю противоположное в блоке catch, установите обе переменные в некоторый код ошибки, если необходимо, выполните некоторую ошибкуобработка.
После блока TRY CATCH
я возвращаю результат, используя запись:
SELECT @code AS code, @message AS message
Эти две переменные используются в верхних уровнях для целей проверки как отправка сообщений пользователю, а такжедля совершения отката транзакций.
Возможно, я скучаю по имПортантные функции, такие как RAISERROR или не подходящие лучше и более оптимальные и безопасные подходы.
Буду признателен за ваши советы и хорошие практики, не требуя рецептов поваров, в этом нет необходимости, просто идея, но если вы решите включить примеры, которые ониБуду рад приветствовать.
Спасибо