ブラックホールには本当の長所はないと思います。
データを移動するためのトリガーコードを作成することは、最初にデータを適切な場所に挿入するためのコードを作成することよりも、おそらく著しく少ない作業ではありません。
Christian Oudardが書いているように、複雑さを軽減するのではなく、デバッグが非常に難しい場所に移動するだけです。
欠点:
「副作用」は通常、ソフトウェア開発では悪い考えです。トリガーは副作用です-私は1つのこと(テーブルにデータを挿入する)を実行するつもりですが、実際には他の多くのことを実行します。さて、コードをデバッグするときは、すべての副作用も頭の中に入れておく必要があります。副作用自体に副作用がある可能性があります。
ほとんどのソフトウェアは、開発よりもメンテナンスにはるかに多くの時間を費やしています。新しい開発者をチームに参加させ、ブラックホールのトリックを説明すると、学習曲線が長くなる可能性があります-(私の見解では)ごくわずかな利益になります。
トリガーは副作用であり、注意しないとトリガーの巨大なカスケードを開始するのは比較的簡単なので、私は常にトリガーに依存せずにデータベースを設計しようとしました。トリガーが明らかに正しい方法である場合、私は最も経験豊富な開発者にのみトリガーを作成させました。ブラックホールのトリックは、トリガーを通常の通常の作業方法にします。もちろん、これは個人的な見解です。