我在 SQL Server 2008 R2 中创建了一个包含以下列的表:ObservationId、FirstCreatedDate、description、... 和 LastUpdatedDate。ObservationId是一个以 1 为增量的标识。
我需要创建两个触发器,一个用于 INSERT,另一个用于 UPDATE。在插入新记录时,INSERT 触发器将通过获取当前日期时间来更新 FirstCreatedDate 列;在更新现有记录时,UPDATE 触发器将通过获取当前日期时间来更新 LastUpdatedDate 列。
我没有这样做,因为我猜测身份可能是问题所在。
谁能帮我一把?谢谢!
干杯,亚历克斯
ALTER TRIGGER [dbo].[T_InsertNewObservation] ON [dbo].[GCUR_OBSERVATION]
AFTER INSERT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for trigger here
UPDATE GCUR_OBSERVATION SET GCUR_OBSERVATION.FirstCreatedDate = getdate()
FROM GCUR_OBSERVATION a INNER JOIN INSERTED ins ON a.ObservationId = ins.ObservationId
END