在 SQL Server 2008 R2 中使用触发器在更新期间根据另一列的值更改一列的值

Use a trigger in SQL Server 2008 R2 to change the value of one column based on the value of another column during update

我需要在更新记录时根据同一 table 中另一列的值更改列的值。无法重新编码更新 table 的遗留应用程序来处理此问题。

基本逻辑是:

希望我可以在 SQL Server 2008 R2 中使用更新触发器在数据库级别执行此操作。

谢谢。

CREATE TRIGGER tr_OrderLocation_Update
ON TableName 
FOR UPDATE,INSERT
BEGIN
  SET NOCOUNT ON;

  UPDATE t
   SET t.OrderLocation = 4
  FROM TableName t INNER JOIN inserted i 
  ON t.PK_Column = i.PK_Column  --<-- what ever the primary key column
  WHERE i.DateShipped IS NOT NULL
END