SAVEPOINTの使いどころがよくわからない

SQLにはSAVEPOINTというステートメントがある。

SAVEPOINTは、サブトランザクション入れ子トランザクションとも呼ばれる)を実現するための、データベース言語SQLステートメントの1つである。

via. SAVEPOINT (SQL) - Wikipedia)

標準SQLにも入っているので、おそらく広く使われている機能だと思うのだが、いまいち使いどころがわからなかった。

機能としてはWikipediaの例をみれば十分理解できるものの、これまでの経験*1 サブトランザクションが生じざるを得ない時点でなにかデータ構造の設計を誤っている気がする。

ひとまず、わからないことがあった、ということの記録として。

参考

*1:まあこれが大したことがないからだ、と言われるとそれまでかもなのだが