2016-12-30 9 views
0

私はテーブルを持っています。私は、レコードの変更を記録するためにトリガを使用しています。DELETEでdeletedByを取得レコード削除時にトリガー

操作を実行する人物(例えば、挿入、更新、削除)に記録されたフィールド名「updatedBy」があります。フィールドを他のフィールドと共に挿入または更新しますたとえば、

これらの操作では、「ME」がレコードを挿入/更新してログを正しく作成できることがわかります。しかし、レコードを削除したデータベースをどのように伝えるか?私はちょうど

DELETE FROM T WHERE P1='WORLD' 

感謝を実行していますので。

+0

タイトルが更新され、現在のユーザーをしたい場合。 – SKLTFZ

+0

削除された行を格納する別の監査テーブルがありますか? – GurV

+0

私は完全な操作を格納する別のテーブルがありますが、主な問題はレコードの削除中にupdatedByフィールドを更新できないため、レコードの削除SQLステートメントの上に実装する必要があります – SKLTFZ

答えて

0

、あなたは少なくとも3パラメータ

  • アクション
でCRUDのためのアクティビティログを保存する1つの以上のテーブル(削除、作成、更新)

が必要

を入力し、CRUD操作を行うたびにこのテーブルに挿入するか、削除の場合にのみatleastを入力してください

+0

しかし、 CRUDを格納するテーブルをもう1つ作成すると、削除操作の上で実行する必要があります。それは私がログテーブルに直接挿入するのと同じです(つまり、もう1つのテーブルを作成する必要はありません)。私の主な問題はむしろ、削除中にupdatedByを取り除くことが可能であることです:) – SKLTFZ

+0

私は心配しています –

0

レコードの変更を追跡する場合は、SQL Serverで使用可能なマジックテーブル(挿入済み、削除済み)を使用することをお勧めします。これら2つのテーブルには、挿入、削除、および更新されたレコードの詳細が表示されます。

参照のためのリンクに従ってください、

http://www.c-sharpcorner.com/UploadFile/93126e/what-are-the-magic-tables-used-by-triggers-in-sql-server/

What are the magic tables available in SQL Server 2000?

それとも、その後、

Getting current user with a sql trigger