Таблица Event имеет один вместо триггера, цель которого состоит в том, чтобы сгенерировать первичный ключ EventId как Max + 1, остальные столбцы заполняются из вставленного.
EventId не является Identity, и мы не можем сделатьэто идентичность, поскольку там много зависимости, логика триггера:
SELECT TOP 1 @ID = Event.EventID FROM Event
IF (@ID IS NULL)
BEGIN
SET @ID=1
END
ELSE
BEGIN
SELECT @ID = MAX(Event.EventID) FROM Event
SET @ID=@ID+1
END
--Then just a insert statment with this id as EventId and rest of the columns from inserted table
Теперь иногда, когда я пытаюсь вставить в эту таблицу, он по-прежнему говорит, что не могу вставить дубликат в eventId, Не уверен, почему это радует...
Похоже, триггер не срабатывает в некоторых случаях?Почему