Добавление полей timeInsert и timeUpdate
Добавляем timeInsert (как created_at)
ALTER TABLE name_table
ADD timeInsert DATETIME2 NOT NULL
CONSTRAINT DF_pok_user_group_timeInsert
DEFAULT SYSDATETIME();
✔ автоматически заполняется при INSERT
✔ аналог DEFAULT CURRENT_TIMESTAMP
Добавляем timeUpdate (как updated_at)
ALTER TABLE dbo.pok_user_group ADD timeUpdate DATETIME2 NULL;
Триггер для автообновления timeUpdate
MSSQL НЕ умеет ON UPDATE CURRENT_TIMESTAMP, поэтому нужен trigger.
CREATE TRIGGER trg_name_table_timeUpdate
ON dbo.name_table
AFTER UPDATE
AS
BEGIN
SET NOCOUNT ON;
UPDATE t
SET timeUpdate = SYSDATETIME()
FROM dbo.name_table t
INNER JOIN inserted i ON t.id = i.id;
END;
(Опционально) Обновлять и при INSERT
Если хочешь, чтобы timeUpdate тоже заполнялся при вставке:
CREATE OR ALTER TRIGGER trg_name_table_timeUpdate
ON dbo.name_table
AFTER INSERT, UPDATE
AS
BEGIN
SET NOCOUNT ON;
UPDATE t
SET timeUpdate = SYSDATETIME()
FROM dbo.pok_user_group t
INNER JOIN inserted i ON t.id = i.id;
END;