I would strongly advice against placing any *business* logic in a stored procedure. However, there might be a case (you listed two fine examples) where it is preferable to place *data access* logic there.

Generally speaking, if you feel tempted to use SP's it is a sign (a code smell) hinting that your data model is not well suited to its needs.