Триггер, который запретит добавлять автора, если количество авторов больше 7

Триггер, который при добавлении или изменении авторов публикации запретит добавление автора, если у публикации более 7 авторов.

Триггер не выполняет свою задачу. В чем может быть проблема?

CREATE TRIGGER Q
ON АвторПубликаций
FOR INSERT, UPDATE
AS
IF EXISTS(
SELECT Публикации.Код_публикации,COUNT(id_автора)
FROM INSERTED,Публикации
WHERE INSERTED.Код_публикации=Публикации.Код_публикации
GROUP BY Публикации.Код_публикации
HAVING COUNT(id_автора)>7
) 
BEGIN
ROLLBACK TRANSACTION 
PRINT 'Нельзя добавить еще автора'
END

введите сюда описание изображения


Ответы (1 шт):

Автор решения: RabbiQQQ
IF EXISTS(
  SELECT COUNT(АвторПубликаций.id_автора)
    FROM (SELECT Код_публикации FROM INSERTED GROUP BY Код_публикации) u
      JOIN АвторПубликаций ON АвторПубликаций.Код_публикации=u.Код_публикации
  GROUP BY u.Код_публикации
  HAVING COUNT(АвторПубликаций.id_автора)>7)
→ Ссылка