2017-02-17 15 views
0

理論上は、一部のレコードが編集されないようにしようとしています。日付とYYYY-MM-DDを日付として格納するDateAddedという行を比較する必要があります。日付の一致に基づいてレコードの挿入削除と更新を防止するためのトリガー?

レコードが古い(つまり、Sysdate> DateAddedの場合は、レコードを変更しないようにしてください。

+0

の代わりにトリガを行うのに十分に簡単に思えます。私はそれをお勧めしませんが、あなたは単一のトリガで全体を行うことさえできます。 –

+0

トリガーを使用する場合は注意が必要です。更新される値が無効であるというフィードバックを提供しないと、誤ったバグレポートが生成される可能性があります。アプリケーションはちょうど "更新"しますが、実際にはエンドユーザーにとって非常に混乱していることはしません。 –

答えて

0

は、以下のことを試してみてください。

CREATE TRIGGER T1 
ON YOURTABLE 
INSTEAD OF UPDATE 
AS 
    if exists (select * from inserted where DateAdded >= getdate()) 
    begin 
     update yourtable 
     set DateAdded = (select DateAdded from inserted) 
     ... 
     where yourtable.key = (select key from inserted); 
    end 
GO 
関連する問題