Код (SQL + расширения) хранится в БД и выполняется на стороне СУБД. Вызов: CALL procedure_name(args). Плюсы: меньше сетевых round-trip, централизация логики. Минусы: привязка к конкретной СУБД, сложнее версионирование и тесты, масштабирование приложения может быть сложнее.
В современной разработке часто предпочитают держать бизнес-логику в приложении, а в БД - только данные и ограничения.