created
cột rất đơn giản - chỉ là DATETIME2(3)
với một ràng buộc mặc định được đặt khi một hàng mới được chèn vào:
Created DATETIME2(3)
CONSTRAINT DF_YourTable_Created DEFAULT (SYSDATETIME())
Vì vậy, khi bạn chèn một hàng vào YourTable
và không chỉ định giá trị cho Created
, nó sẽ được đặt thành ngày và giờ hiện tại.
modified
là công việc nhiều hơn một chút, vì bạn sẽ cần phải viết trình kích hoạt cho AFTER UPDATE
và cập nhật nó - bạn không thể khai báo SQL Server làm việc này cho bạn ....
Modified DATETIME2(3)
và sau đó
CREATE TRIGGER updateModified
ON dbo.YourTable
AFTER UPDATE
AS
UPDATE dbo.YourTable
SET modified = SYSDATETIME()
FROM Inserted i
WHERE dbo.YourTable.PrimaryKey = i.PrimaryKey
Bạn cần tham gia Inserted
bảng giả chứa tất cả các hàng đã được cập nhật với bảng cơ sở của bạn trên khóa chính của bạn cho bảng đó.
Và bạn sẽ phải tạo AFTER UPDATE
này kích hoạt cho mỗi bảng mà bạn muốn modified
cột trong.