【问题标题】:How to create a trigger to modify date column on table with double key如何创建触发器以使用双键修改表上的日期列
【发布时间】:2012-05-29 04:14:35
【问题描述】:

我需要创建一个触发器,在插入或更新时将当前日期和时间戳保存到行中。

表结构

[Period] [char](7) NOT NULL,
[CompanyAlfaCode] [char](2) NOT NULL,
[SamplePercentaje] [int] NULL,
[Usuario] [varchar](50) NULL,
[Date] [Datetime] NULL,

非常感谢。

【问题讨论】:

  • 我已经尝试在 CompanySampleConfig 更新后创建触发器 DateTrigger -- 防止递归! BEGIN SET 日期 = CURRENT_TIMESTAMP END

标签: sql sql-server triggers audit


【解决方案1】:

可能是这样的:

CREATE TRIGGER DateTrigger ON CompanySampleConfig
AFTER INSERT,UPDATE
AS
BEGIN
  UPDATE CompanySampleConfig SET [Date] = current_timestamp
  WHERE EXISTS
  (SELECT '' FROM inserted
  WHERE CompanySampleConfig.[Period] = inserted.[Period]
    AND CompanySampleConfig.[CompanyAlfaCode] = inserted.[CompanyAlfaCode]
END

【讨论】:

  • Period 和 CompanyAlfaCode 都是键
  • 好的,我编辑了 Period 和 CompanyAlfaCode 作为复合主键。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-12-05
  • 2018-11-25
  • 1970-01-01
  • 2014-02-02
  • 1970-01-01
  • 1970-01-01
  • 2014-01-31
相关资源
最近更新 更多