我想调用 Update ... Set ... Where ... 来更新一个字段,只要那个邪恶的 ERP 流程正在改变另一个字段的值。
我正在运行 MS SQL。
我想调用 Update ... Set ... Where ... 来更新一个字段,只要那个邪恶的 ERP 流程正在改变另一个字段的值。
我正在运行 MS SQL。
您可以使用触发器来更新其他字段。
编辑:我想这可能取决于您正在运行的 SQLesque 数据库。
我无法测试,但我想它是这样的触发器
CREATE TRIGGER TriggerName ON TableName FOR UPDATE AS 如果更新(ColumnUpdatedByERP) 开始 更新 ... 结尾
- 编辑 - 更好的版本,感谢 Tomalak 的评论
CREATE TRIGGER TriggerName ON TableName FOR UPDATE AS 声明 @oldValue VARCHAR(100) 声明@newValue VARCHAR(100) 如果更新(ColumnUpdatedByERP) 开始 SELECT @oldValue = (SELECT ColumnUpdatedByERP FROM Deleted) SELECT @newValue = (SELECT ColumnUpdatedByERP FROM Inserted) 如果 @oldValue <> @newValue 开始 更新 ... 结尾 结尾
您想使用触发器,但我会非常警惕所选答案中的错误。请参阅 Brent Ozar关于多条记录的文章http://www.brentozar.com/archive/2009/01/triggers-need-to-handle-multiple-records/ 。