Lustigerweise habe ich heute auch von der Existenz von Schwarzen Löchern erfahren.
Die Frage, die sich hier stellt, ist eigentlich eine allgemeinere Frage, nämlich ob Geschäftslogik in Datenbank-Trigger eingebettet werden sollte oder nicht. In diesem Fall wird die Blackhole-Tabelle im Wesentlichen als vorübergehender Datenspeicher verwendet, auf den der Trigger für die Blackhole-Tabelle zurückgreifen kann. Sollte der Trigger überhaupt verwendet werden? Für mich ist das der eigentliche Kern der Frage.
Ich persönlich bin der Meinung, dass die Verwendung von Triggern nur auf die Protokollierung und DBA-spezifische Aufgaben beschränkt sein sollte und keine Geschäftslogik (oder überhaupt eine Logik) enthalten sollte, die fest in die Anwendungsschicht gehört. Es hat den Anschein, als gäbe es eine ganze Reihe von Meinungen darüber, ob Datenbank-Trigger sind böse oder nicht . Ich denke, Ihre Frage fällt auch in diese Kategorie.
Die Einbettung von Logik der Anwendungsschicht in Datenbank-Trigger kann riskant sein.
Es wird wahrscheinlich dazu führen, dass die Geschäftslogik zwischen den Anwendungen aufgeteilt wird. Code und der Datenbank aufzuteilen. Dies kann sehr verwirrend sein für jemanden, der versucht, eine Codebasis zu unterstützen und zu verstehen.
Wenn Sie zu viel Logik in Triggern und gespeicherten Prozeduren haben, kann es leicht zu Leistungsproblemen auf Ihrem Datenbankserver kommen, die durch die Verteilung der schweren Verarbeitungsaufgaben, d.h. der komplexen Geschäftslogik, auf die Anwendungsserver hätten behoben werden können und den Datenbankserver für seinen Hauptzweck, d.h. die Bereitstellung von Daten, frei lassen sollten.
Das ist natürlich nur meine Meinung!