Как уже отмечали другие, это очень сильно зависит от вашей среды.
Однако даже в корпоративной ситуации, когда вы хотите защитить критически важные данные, использование хранимых процедур для CRUD не обязательно является обязательным. Как уже отмечалось, использование хранимой процедуры для реализации вставки базы данных предполагает, что хранимая процедура будет умнее, чем разработчик приложений. Хранимые процедуры - это логика, поэтому умение их писать - это навыки программиста. Таким образом, если у вас есть администратор базы данных, который также является лучшим программистом, чем ваши программисты, то непременно заставьте их написать хранимые процедуры, чтобы ваши программисты были честными. Это может быть в некоторых местах. Следует иметь в виду, что Томас Хансен считает, что использование хранимых процедур может привести к тому, что вся организация будет привязана к логике данной хранимой процедуры. Опять же, некоторые организации могут хотеть или нуждаться в этом.
Другой подход состоит в том, чтобы использовать некоторые хранимые процедуры, чтобы гарантировать согласованность, но все же разрешать специальные вставки. В зависимости от базы данных это может обеспечить более чистый интерфейс и большую согласованность.
Хранимые процедуры могут быть немного быстрее, но это вряд ли будет основным соображением для основной базы данных большой организации (а небольшой организации, вероятно, не захочется так много уровней).
Если вы собираетесь добавлять большие объемы данных, полезны такие вещи, как командные файлы и отключение транзакций. Но, на мой взгляд, CRUD подразумевает не большие объемы создаваемых данных, а небольшие случаи создания, чтения, редактирования и удаления данных, как это делается в большинстве приложений уровня пользователя.