[解決済み】データベーストリガーは悪なのか?[クローズド]
2022-04-12 18:56:58
質問
データベーストリガーは悪い考えか?
私の経験では、トリガーは邪道です。なぜなら、意外な副作用をもたらす可能性があり、デバッグが難しいからです(特に、あるトリガーが別のトリガーを起動した場合)。 多くの場合、開発者はトリガーがあるかどうか調べようともしません。
一方、新規の
FOO
が作成された場合、最も確実なのはFOOテーブルの挿入トリガーをかけることです。
トリガーを使うのは、たとえば
ModifiedDate
.
解決方法は?
トリガーに関する主な問題点は
- 完全にグローバルである - テーブルアクティビティーのコンテキストに関係なく適用される。
- 意図しない(そして非常に不可思議な)結果をもたらすまで、その存在を忘れてしまいがちです。
これは、適切な状況で慎重に使用する必要があるということです。私の経験では、関係整合性の問題(時には宣言的に得られるよりも細かい粒度で)に限られ、通常はビジネスやトランザクションの目的では使用されません。YMMV。
関連
-
[解決済み] SQL ServerでJOINを使用してUPDATE文を実行するにはどうすればよいですか?
-
[解決済み] ATTACHで開いたSQLiteデータベースファイルのテーブルを一覧表示するにはどうすればよいですか?
-
[解決済み] INNER JOIN ON vs WHERE句
-
[解決済み] SQL Serverでストアドプロシージャ内のテキストを検索する
-
[解決済み] PostgreSQLで一重引用符で囲まれたテキストを挿入する
-
[解決済み] NOT IN vs NOT EXISTS
-
[解決済み] SQL/mysql - Select distinct/UNIQUE but return all column?
-
[解決済み] SQL Serverで、ある日付より大きいすべての日付を照会するにはどうすればよいですか?
-
[解決済み] 別のテーブルに一致する項目がない行を選択するにはどうすればよいですか?
-
[解決済み] SQL Serverデータベース内のすべてのトリガーをテーブル名とテーブルのスキーマでリストする必要があります。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
plsql-stored-procedure ORA-06550 エラー処理
-
[解決済み] Oracle Trigger ORA-04098: トリガーが無効で、再バリデーションに失敗しました。
-
[解決済み] Oracleで上位100行を選択する方法は?
-
[解決済み] SQLの結合形式 - 入れ子になった内側join
-
[解決済み] SQL Serverで実行中の合計を計算する
-
[解決済み] SQL Server で複数行のテキストを 1 つのテキスト文字列に連結する方法
-
[解決済み] 各GROUP BYグループの最初の行を選択しますか?
-
[解決済み] SQL Serverでシングルクォートをエスケープするにはどうすればよいですか?
-
[解決済み] SQLiteデータベースで、一度に複数行を挿入することは可能ですか?
-
[解決済み] DISTINCTでCOUNT(*)を選択する