Обычно нет веских оснований для написания хранимых процедур в новых приложениях.
Причина в том, что в ваших приложениях существует множество гораздо более совершенных методов для доступа к данным. Существует множество технологий объектно-реляционного отображения, доступных для десятков языков и платформ.
Один аргумент для хранимых процедур заключается в том, что они представляют абстрактный API перед базой данных. Проблема в том, что SQL - очень плохой язык для написания бизнес-программ высокого уровня. Другая проблема заключается в том, что вы будете использовать API перед базой данных из языков, отличных от SQL. Такие языки, как C #, Ruby и Haskell, предлагают гораздо более мощные способы создания API-интерфейсов перед базой данных, которые намного более естественны при использовании на этих языках.