Не мисля, че черната дупка има реални плюсове.
Написването на кода за задействане за преместване на данни вероятно не е забележимо по-малко работа от писането на кода за вмъкване на данните на правилното място на първо място.
Както пише Christian Oudard, това не намалява сложността - просто го премества на място, където е наистина трудно да се отстранят грешки.
От друга страна:
„Страничните ефекти“ обикновено са лоша идея при разработката на софтуер. Тригерите са странични ефекти - възнамерявам да направя едно нещо (вмъквам данни в таблица) и всъщност прави много други неща. Сега, когато отстранявам грешки в кода си, трябва да запазя и всички странични ефекти в главата си - и страничните ефекти могат сами да имат странични ефекти.
повечето софтуери прекарват много повече време в поддръжка, отколкото в разработка. Привличането на нови разработчици в екипа и обясняването на трика с черната дупка вероятно ще увеличи кривата на обучение – за незначителна полза (според мен).
Тъй като тригерите са странични ефекти и е сравнително лесно да задействате огромна каскада от тригери, ако не сте внимателни, винаги съм се опитвал да проектирам базите си данни без да разчитам на тригери; където тригерите очевидно са правилният път, оставих само най-опитните си разработчици да ги създават. Трикът с черната дупка превръща тригерите в нормален, редовен начин на работа. Това е лична гледна точка, разбира се.