Я думаю, что хранимые процедуры в настоящее время НИКОГДА не должны использоваться на всей системе в качестве единственного метода доступа к базе данных.Это устаревшая архитектура, которая в долгосрочной перспективе дает гораздо больше проблем с обслуживанием, чем пользы.В настоящее время есть намного лучшие способы справиться с любым требованием доступа к данным.Лучше всего использовать хранимую процедуру в определенных редких случаях, когда вы хотите, чтобы одна, четко определенная и уникальная функция извлекала данные, которые, как вы знаете, будут использоваться таким же образом в других приложениях.Хранимая процедура позволит вам быть СУХИМ в этом случае.Также в некоторых случаях, когда администратор БД, который занимается защитой, должен защищать определенную часть данных (например, таблицу кредитных карт) таким детализированным способом, который разрешает доступ только к SP,
Отдельноиз этих случаев избегайте хранимых процедур, насколько это возможно, и придерживайтесь только использования кода со всеми преимуществами наследования, проверок компиляторов, инструментов для рефакторизации, перечислений вместо магических строк также в запросах, управлении исходным кодом, более простом развертывании и т. д. и т. д. СписокВыгода от того, чтобы избегать SP как можно больше, в настоящее время слишком длинна, чтобы ее пропускать.
НО, если по какой-то причине вы решите использовать хранимые процедуры, вы могли бы также поместить туда бизнес-логику, так как такой уровень был бы настолькоданные, даже не позволяя им содержать бизнес-логику, еще больше усложнят ваш проект, и вы не пожнете очень мало положительных моментов использования SP.