I place a high value on the power of expression, and I don’t find the
SQL space to be all that expressive. Use the best tools you have on
hand for the most appropriate tasks. Fiddling with logic and higher
order concepts is best done at the highest level. Consequently,
storage and mass data manipulation is best done at the server level,
probably in stored procedures.
But it depends. If you have multiple applications interacting with one
storage mechanism and you want to make sure it maintains its integrity
and workflow, then you should offload all of the logic into the
database server. Or, be prepared to manage concurrent development in
multiple applications.