Вам нужно изменить свой триггер, чтобы он срабатывал ВМЕСТО ВСТАВКИ.Переменная uniqueidentifier должна быть сгенерирована с использованием функции NEWID () .В операторе INSERT в теле триггера столбцы должны быть представлены по порядку.Предполагая, что таблица определена следующим образом:
CREATE TABLE Users (
First int,
User_Id uniqueidentifier PRIMARY KEY,
Third int,
Fourth int)
Тогда триггер будет:
CREATE TRIGGER TR_UserInserted ON Users
INSTEAD OF INSERT AS
BEGIN
DECLARE @newid uniqueidentifier = NEWID()
INSERT INTO Users
SELECT
First,
@newid,
Third,
Fourth
FROM inserted
EXECUTE UserInserted(@newid)
-- you can actually provide all the columns to UserInserted
END
Чтобы это работало правильно, убедитесь, что в таблице нет первичного ключа по умолчаниюкак NEWID () .