次のようなテーブルがあります。
id name modified
11 John 2016-07-12 15:49:45
22 Abraham 2016-07-12 15:52:03
行の最終変更日を追跡する「変更済み」列を更新する必要があります。トリガーを使用してこれを実行しましたが、トリガーがパフォーマンスを食い尽くすことを読みました。制約を使用してこれを行う方法はありますか?
次のようなテーブルがあります。
id name modified
11 John 2016-07-12 15:49:45
22 Abraham 2016-07-12 15:52:03
行の最終変更日を追跡する「変更済み」列を更新する必要があります。トリガーを使用してこれを実行しましたが、トリガーがパフォーマンスを食い尽くすことを読みました。制約を使用してこれを行う方法はありますか?
UPDATE 句で DEFAULT 制約と DEFAULT キーワードを使用することができます。次の例を参照してください。
CREATE TABLE UpdateTest
(
ID int IDENTITY,
Name varchar(10),
Modified datetime2(2) CONSTRAINT DF_Modified DEFAULT (SYSDATETIME())
)
--ID from IDENTITY, Modified from DEFAULT implicitly
INSERT UpdateTest(Name) VALUES('Test')
--Modified from DEFAULT explicitly
UPDATE UpdateTest SET Name='Test2', Modified=DEFAULT