あるテーブルに作成日時と更新日時があるとします。
で、こいつらを自動で更新する方法です。
作成日時の方はInsertが発生した際のみで登録するので、
こっちの方はCreate Tableの時に「DEFAULT (getdate())」を(MSSMSなら列のプロパティの規定値またはバインド)指定するだけ。
更新日時はトリガーを使います。(他に見つからない。。)
でこんな感じでとりあえずうまく行ってます。
CREATE TRIGGER trUpdateDateTimeMemberInfo ON MemberInfo
FOR UPDATE
AS
begin
update MemberInfo
set 更新日時 = GetDate()
where MemberId = (select MemberId from inserted)
end
return
サブクエリのinsertedっていうのは処理対象のレコードって意味っぽいです。
deletedっていうのもあるらしい。
1 件のコメント:
後から見る人のためにコメント。
トリガーは更新前の情報がDeletetedで渡ります。
変更は更新前を削除し、更新後を追加したって事です。
コメントを投稿