我想在每列新行中自动插入创建日期时间,并在更新时间列中更新该行时更新时间。我知道可以使用sql约束来完成。
我已经完成了创建日期:
ALTER TABLE Persons
ADD CONSTRAINT CO_Persons_AutoCreateDate DEFAULT GetDate() for CreatedDate
但是如何在更新日期更新记录呢?
答案 0 :(得分:2)
你需要创建一个类似这样的触发器:
CREATE TRIGGER tr_somename
ON Persons
FOR UPDATE
BEGIN
SET NOCOUNT ON;
UPDATE T
SET T.createddate = GETDATE()
FROM persons T INNER JOIN INSERTED I
ON t.pk_column = I.pk_column
END
答案 1 :(得分:0)
在INSERT
语句中,使用除CO_Persons_AutoCreateDate
以外的所有列。
例如,如果你有这样的表Persons
:
Create Table Persons
(
A int,
B int,
CO_Persons_AutoCreateDate datetime
)
使用INSERT
声明:
insert into Persons (A,B) values (1,1)