0
理論上は、一部のレコードが編集されないようにしようとしています。日付とYYYY-MM-DDを日付として格納するDateAdded
という行を比較する必要があります。日付の一致に基づいてレコードの挿入削除と更新を防止するためのトリガー?
レコードが古い(つまり、Sysdate> DateAddedの場合は、レコードを変更しないようにしてください。
理論上は、一部のレコードが編集されないようにしようとしています。日付とYYYY-MM-DDを日付として格納するDateAdded
という行を比較する必要があります。日付の一致に基づいてレコードの挿入削除と更新を防止するためのトリガー?
レコードが古い(つまり、Sysdate> DateAddedの場合は、レコードを変更しないようにしてください。
は、以下のことを試してみてください。
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
の代わりにトリガを行うのに十分に簡単に思えます。私はそれをお勧めしませんが、あなたは単一のトリガで全体を行うことさえできます。 –
トリガーを使用する場合は注意が必要です。更新される値が無効であるというフィードバックを提供しないと、誤ったバグレポートが生成される可能性があります。アプリケーションはちょうど "更新"しますが、実際にはエンドユーザーにとって非常に混乱していることはしません。 –