Применение триггера к нескольким столбцам таблицы
Есть таблица в которую вносятся следующие данные:
CREATE TABLE master.dbo.Actavia (
Id int IDENTITY,
НО nvarchar(50) NULL,
[Дата НО] date NULL,
ВО nvarchar(50) NULL,
[Дата ВО] date NULL,
ГИ nvarchar(50) NULL,
[Дата ГИ] date NULL,
ТО nvarchar(50) NULL,
[Дата ТО] date NULL,
[Описание] nvarchar(max) NULL
)
ON [PRIMARY]
GO
Для заполнения столбца НО необходимым "номером" на основании Id имеется триггер
CREATE TRIGGER NumNOtrigger1
ON dbo.Actavia
AFTER INSERT
AS
UPDATE Actavia
SET НО= CONCAT('R.', Id, '.Vi')
GO
Как реализовать внесение в столбцы ВО, ГИ, ТО "номеров" по схожей схеме? Например:
ВО= CONCAT('R.', Id, '.Ve')
ГИ= CONCAT('R.', Id, '.H')
ТО= CONCAT('R.', Id, '.T')
Ответы (1 шт):
Автор решения: Aziz Umarov
→ Ссылка
Ставите запятую и добавляете нужное поле для изменения. Обычный update по сути
CREATE TRIGGER NumNOtrigger1
ON dbo.Actavia
AFTER INSERT
AS
UPDATE Actavia
SET НО= CONCAT('R.', Id, '.Vi'),
ВО= CONCAT('R.', Id, '.Ve'),
ГИ= CONCAT('R.', Id, '.H'),
ТО= CONCAT('R.', Id, '.T')
GO