1
は、私はこのようなテーブルを持っている:更新最終更新日付列
id name modified
11 John 2016-07-12 15:49:45
22 Abraham 2016-07-12 15:52:03
私は、行の最後の更新日時を追跡する「修正」列を更新する必要があります。私はトリガーを使ってこれを行っていますが、トリガーがパフォーマンスを悪化させるのを読んでいます。制約を使ってこれを行う方法はありますか?
Dyl:ありがとうございます。更新中に、変更された列に「DEFAULT」パラメータを明示的に渡す必要があります。変更された列に値を渡さずに変更された日付を取得する方法はありますか? – curiousboy
変更された列のパラメータを渡さなければならない場合、すべての更新に対してgetdate()として変更された列の値を設定できます。 ex; update updateTest SET Name = 'Test2'、Modified = getdate()ID = 'some_value'です。私はjavaコードで毎回getdate()を渡すこともできます。申し訳ありませんが私の質問にその基準を言及していない、あなたは代替のためにチェックしてください。 – curiousboy
私が知る限り、DEFAULTキーワードまたは明示的なGETDATE()呼び出しを省略することはできません。 SQL Serverは、列の更新と更新された行の値の変更を何ら区別しなければなりません。論理的には、何らかの区別子が存在しなければならない。 –