我有一个约束,它返回列的日期时间(日期)。 在插入工作吧!现在,我希望在更新语句执行时使用新值getdate()更新列日期。任何的想法?
我的约束:
ALTER TABLE [tablename] ADD CONSTRAINT [constraintName]
DEFAULT (getdate()) FOR [column]
我的DBMS是Microsoft SQL Server 2012
答案 0 :(得分:3)
您可以使用这样的触发器来执行此操作:
CREATE TRIGGER updTableDate
ON [Table]
AFTER INSERT, UPDATE
AS
BEGIN
SET NOCOUNT ON;
UPDATE [Table] SET modified = GETDATE() WHERE [primary_key] IN (SELECT [primary_key] FROM INSERTED)
END
或更好:
CREATE TRIGGER updTableDate
ON [Table]
AFTER UPDATE
AS
BEGIN
SET NOCOUNT ON;
UPDATE [Table] t SET modified = GetDate() FROM INSERTED AS i WHERE t.id = i.id
END