У меня есть хранимая процедура для вставки записи в две таблицы.
Сначала я вставляю его в tableA, а затем в tableB.
Я немного растерялся, потому что, если вставка в tableA завершится неудачно, я ожидаю, что она выдаст ошибку и не выполнит следующий оператор,Но, похоже, это не так ..
Если возникает исключение, он все равно запускает операторы под ним? ...
BEGIN
INSERT INTO TABLEA (Counter) VALUES (1989); -- duplicate error!
INSERT INTO TABLEB (Counter) VALUES (2010);
END
Ошибка, которую я получаю:
Нарушение ограничения PRIMARY KEY 'PK_TABLEA'.Невозможно вставить повторяющийся ключ в объект «dbo.TABLEA».Значение дубликата ключа (1989).Оператор был прерван.
Я получаю сообщение об ошибке при вызове этой хранимой процедуры в моем консольном приложении C #.Вот почему я не понимаю, почему это вызывает исключение ... но я продолжаю со следующими утверждениями ...