I try to seriously limit my business logic in the DB to only procs that have to do alot of querying and updating to perform a single application operation. Some may argue that even that should be in the app, but I like to keep the IO down if I can.
Databases are great for CRUD but if they get bloated with logic:
- It becomes confusing where the logic is,
- Typically databases are a silo and do not scale horizontally nearly as well as the app servers.
- t_sql/PLsql is hard to read and procedural in nature
- You forfeit all of the benefits of OOAD.