我正在尝试在SQL Server中创建一个INSTEAD OF触发器,以防止更新两列,除非另一列同时更新。任何帮助将不胜感激。
CREATE Trigger Validation1
ON tblCust
INSTEAD OF UPDATE
AS
BEGIN
<NEW.CustomerAge> = <OLD.CustomerAge> or <NEW.CustomerRange> = <OLD.CustomerRange>
<RAISE EXCEPTION>
END IF;
END;
答案 0 :(得分:1)
防止更新两个字段,除非另一个字段同时更新
您可以在触发后或触发前使用UPDATE()
IF ( UPDATE (col1) and UPDATE (col2) )
BEGIN
--your logic for both col1 updated at same time
END;
else
begin
--other logic
end
正如PMB Austin在评论中指出的那样,您可以进一步检查If逻辑内部,看看更新后的值是否与值相同并根据您的逻辑对待它,是否将其视为更新