テーブルの更新後に変更されたすべての列を取得するトリガーを作成しています。特定のフィールドが変更されたときにトリガーを起動することは可能だと思います。しかし、それは私の要件に対して十分に一般的ではありません。挿入されたテーブルと削除されたテーブルを比較することでそれを行うことはできますか?
2550 次
2 に答える
0
trigger
更新用の を作成できます。次に、どの列が更新されたかを確認します。
deleted
前 ( table) と後 ( table) を比較することもできinserted
ますが、各列も個別に表示する必要があります。
于 2012-08-13T10:23:06.753 に答える
0
「十分に一般的ではない」と言うと、どのテーブルのどの列がいつ変更されたかを見つける一般的な手段としてトリガーを使用することを念頭に置いているように聞こえます。さまざまなキーとフィールド。
aF は「for」(または after) トリガーの使用を提案しており、挿入と削除を比較するか、「if update(column-name)...」関数を使用できます。
物事を一般化したい場合、私が理解している場合、それは、どこかでメタデータとして構成したテーブルのリストを取得し、それらを処理して、必要なことを行うトリガーに処理するツールを作成する必要があることを意味すると思います(主キーの内容、テーブル ID、変更されたフィールドをどこかに保存するなど)。
于 2012-08-13T14:46:56.310 に答える