1
テーブルにすべての変更を保存したいと思います(MySQL版)。 1つのテーブル内のすべてのテーブルのすべての変更を追跡するためにテーブル '監査'を作成しました(したがって、各テーブルの監査テーブルを作成する必要はありません)。Mysqlトリガー:OLDとNEWを文字列/ xml /パラメーターとして使用しますか?
次に、各テーブルと監査テーブルにレコードを挿入するストアドプロシージャのトリガを作成しました。ストアドプロシージャのパラメータはtablenameとプライマリIDです。これで、データベースの各レコードの挿入/更新/削除の日付を追跡できます。
しかし、この手順でDATAのすべての変更をトレースしたいと思います。このためには、ストアドプロシージャのトリガからOLDとNEWレコードを使用する方法を見つける必要があります。
誰でもこの方法を知っていますか? レコードOLDとNEWを文字列にシリアライズするのは何ですか?
通常の引数のように、値を処理に渡すことはできませんか? – DrColossos
私はすべてのテーブルに対して異なるストアドプロシージャを書く必要がありますが、一部のテーブルには50を超えるカラムがあります。私は監査ログに1つのテーブルしか使用しないので、OLDとNEWをパラメータとして渡すことができればいいと思っていました....しかし、私が見る限り、これは不可能です... – Dylan