我想插入當前日期時間插入或更新新行。 只要插入一行,getdate()就會給出日期時間。但在行更新時它不會自行更新。 有沒有辦法做到這一點?表更新日期時間自動更新:MS SQL08
編輯:我不想使用觸發器。
我想插入當前日期時間插入或更新新行。 只要插入一行,getdate()就會給出日期時間。但在行更新時它不會自行更新。 有沒有辦法做到這一點?表更新日期時間自動更新:MS SQL08
編輯:我不想使用觸發器。
存儲過程可以幫助你的話,但隨後一個特設的更新操作會導致數據不一致。
是的,觸發器幾乎是你可以保證這種功能的唯一方法。除非有人丟棄,禁用或改變觸發器,當然。 – 2011-06-09 14:06:47
我不想使用觸發器。還有其他的選擇嗎? – 2011-06-09 14:49:10
這是你需要更新觸發:
CREATE TRIGGER Update ON TABLE1
FOR UPDATE
AS
BEGIN
SET NOCOUNT ON
UPDATE TABLE1
SET UpdatedOn = GETDATE()
FROM TABLE1 A
INNER JOIN Inserted INS ON (A.Id = INS.Id)
SET NOCOUNT OFF
END
該查詢不會爲我運行,因爲'更新'是一個關鍵字。將其更改爲「UpdateTrigger」,並且它完美運行。謝謝。 – RyanfaeScotland 2015-03-25 09:59:31
你可能要考慮['SYSDATETIME()'](http://msdn.microsoft.com/en-us/library/bb630353。 aspx)而不是'getdate()' - 它將使用更多的可用精度。 – 2011-06-09 14:05:42