0

SPROC 的查询部分示例:

Update MyTable
SET
  ProductName=@ProductName
 ,ProductPrice=@ProductPrice
 ,Date_Updated=GETDATE()
WHERE ProductID=@ProductID

我想在 Date_Updated 字段上使用 GETDATE() 仅当 ProductName 或 ProductPrice 在调用更新之前已从其原始值更改时。

请帮忙 :)

4

1 回答 1

0

使用CASE条件来测试新值是否等于列的先前值。

Update  MyTable
SET     ProductName  = @ProductName,
        ProductPrice = @ProductPrice,
        Date_Updated =  CASE WHEN (ProductName <> @ProductName) OR 
                                  (ProductPrice <> @ProductPrice) 
                             THEN GETDATE() 
                             ELSE Date_Updated 
                        END
WHERE ProductID = @ProductID
于 2013-02-25T05:25:21.053 回答