Мы представили новую структуру доступа к данным для вызова хранимых процедур SQL. При вызове хранимой процедуры, которая возвращает набор записей, мы столкнулись с проблемами, когда эта хранимая процедура также выполняет какое-либо обновление (вставка / обновление / удаление):
Невозможно изменить свойство ActiveConnection объекта Recordset, источником которого является объект Command.
Чтобы решить эту проблему, добавьте 'SET NOCOUNT ON 'в начало хранимой процедуры. Это работает отлично, и, конечно же, имеет рекламируемое повышение производительности.
Мы рекомендуем разработчикам, когда они хотят написать код для вызова существующей хранимой процедуры, они также должны рефакторинг самой хранимой процедуры, чтобы включить SET NOCOUNT ON
.
Но это заставило меня задуматься, каковы будут потенциальные последствия / риски выполнения сплошного обновления всех хранимых процедур для включения SET NOCOUNT ON
. При каких сценариях это нарушит функциональность SP? (учитывая, что функция @@ ROWCOUNT обновляется, даже если SET NOCOUNT включен)
Помощь, как всегда, очень ценится.