我有下面的表:的SQL Server觸發更新
ID | CLIENT_SYNCED_TIME | NAME | DESCRIPTION | LM_TIME
的LM_TIME
欄會自動觸發時,任何其他列值的獲得更新設置。
但是,我想LM_TIME
.... 不是以更新CLIENT_SYNCED_TIME
列時由觸發更新。
我現在正在使用下面的觸發器,當更改任何列值時更新LM_TIME
。
只是我只是想讓觸發器不用擔心CLIENT_SYNCED_TIME
列。爲了達到這個效果我需要做些什麼修改?
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER [dbo].[updateLM_TIME]
ON [dbo].[INSTITUTIONS]
AFTER INSERT, UPDATE
AS
UPDATE dbo.INSTITUTIONS
SET lm_time = CONVERT(DATETIME, CONVERT(VARCHAR(20), GETDATE(), 120))
WHERE ID IN (SELECT DISTINCT ID FROM Inserted)
GO
如果有一個'UPDATE'聲明,它更新'CLINET_SYNCED_TIME'(等欄目),但偏偏它設置爲它已具有相同的價值,那麼應該發生什麼? –
這不是問題先生..我只是想讓觸發器不用擔心「CLIENT_SYNCED_TIME」列 – Pradeep
看看:http://stackoverflow.com/questions/17768608/what-is-the-practical-use- sql-server-with-example –