(SQL 2005)
Может ли raiserror завершить сохраненный процесс.
Например, в большой системе мы получили значение, которое не ожидалось ввести в определенный столбец. В триггере обновления, если вы напишите:
если существует (выберите * из вставленного, где testcol = 7)
начать
Повышение ошибки («Моя ошибка», 16, 1)
конец
информация об обновлении все еще применяется.
Однако если вы запустите
если существует (выберите * из вставленного, где testcol = 7)
начать
выберите 1/0
конец
выдается ошибка деления на 0, которая фактически завершает обновление.
Есть ли способ, как я могу сделать это с помощью повышение ошибки, чтобы я мог получить пользовательские сообщения об ошибках обратно?