为date_created创建触发器并修改日期

时间:2015-03-04 13:48:38

标签: sql sql-server triggers

请你帮忙

我有一个表,我将把数据加载到该表中,并且我有Date_Created和Date_Modified。 我为Date_Created创建了getdate的触发器,这应该只适用于新插入的数据。但是如果记录被更新,它应该为modified_date更新,这只适用于修改数据的时候。

以下是我创建的触发器。感谢

IF  EXISTS (SELECT * FROM sys.triggers WHERE object_id = OBJECT_ID(N'[dbo].[TRGI_loadedDate_SAMPLE]'))
DROP TRIGGER [dbo].[TRGI_loadedDate_SAMPLE]
GO


CREATE TRIGGER [dbo].[TRGI_loadedDate_SAMPLE] ON [dbo].[SAMPLE_REG]
FOR UPDATE 
AS
BEGIN
DECLARE @PK UNIQUEIDENTIFIER, 
        @DATE_CREATED DATE

SELECT @PK = SR.PK,
 @DATE_CREATED = GETDATE()--Get current datetime
FROM   SAMPLE_REG SR 
INNER JOIN INSERTED I 
ON   SR.PK = i.Pk

UPDATE SAMPLE_REG  --Update date modified
  SET  DATE_CREATED = @DATE_CREATED
WHERE PK=@PK
END 

0 个答案:

没有答案