2010-12-14 26 views
0

作成されたユーザー、作成日、変更されたユーザー、変更日、作成されたユーザーの作成方法、作成日、変更されたユーザー、テーブルの変更日

の値をテーブルに自動的に読み込む方法を知る上で助けが必要です

任意のデータをテーブルに入ると、私たちは、修正されるために作成されたユーザーと作成した日付列の値が、変更したユーザーと変更された日付を持っている必要があり

+1

どこの表にどの言語を使用してロードされますか?あなたはテーブル構造を持っていますか? – Paddy

答えて

0

を変更する必要があり、あなたのテーブル構造をAdmitingこれはDEFAULTを忘れ-dontのように見えますGETDATE() - :

YourTable 
--------- 
CreatedUser 
CreatedDate DEFAULT GETDATE() 
ModifierUser 
ModifierDate 

挿入時に、ModifiedUserおよびModifiedDateをGETDATE()に更新する関数をトリガーする関数をトリガーする

1

カラムのデフォルト値は、日付時刻カラムの場合はGetDate()、現在のユーザの場合はSYSTEM_USERに設定できます。これはレコードの作成に適しています。

変更列に対しては、トリガーを追加する必要があります。

読む価値も

... CREATEDBYについては

How to use system_user in audit trigger but still use connection pooling?

0

、あなたは列のデフォルト値を使用することができますCREATETIME:あなたが値を設定し、トリガーを作成する必要がUpdatedAtについては

CreatedAt DATETIME DEFAULT GETDATE(), 
CreatedBy VARCHAR(100) DEFAULT USER 

CREATE TRIGGER [t_Table_upd] ON YourTable AFTER UPDATE AS 
set nocount on 
UPDATE YourTable 
set 
    YourTable.[Modified] = getdate(), 
    YourTable.[ModifiedBy] = USER, 
    YourTable.[Version] = YourTable.[Version] + 1 
FROM 
    DELETED d 
WHERE 
    YourTable.ID = d.ID 
+0

私はSQL認証を使用している場合、どのようにWindows認証名の代わりにWindowsのユーザー名を取るでしょう – Sravanthi

+0

SQL認証を使用すると、SQL ServerはあなたがWindowsのユーザー名の面で推測することはできません。 Windows認証を使用して接続すると、NAMEは認証されたWindowsユーザー名を返します。http://msdn.microsoft.com/en-us/library/ms186738.aspx – Jan

関連する問題