对update sql执行约束

时间:2016-08-26 09:50:36

标签: sql sql-server constraints

我有一个约束,它返回列的日期时间(日期)。 在插入工作吧!现在,我希望在更新语句执行时使用新值getdate()更新列日期。任何的想法?

我的约束:

ALTER TABLE [tablename] ADD CONSTRAINT [constraintName]
DEFAULT (getdate()) FOR [column]

我的DBMS是Microsoft SQL Server 2012

1 个答案:

答案 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