Подтвердить что ты не робот

CREATE TRIGGER должен быть первым выражением в партии

У меня есть триггер ниже:

 CREATE Trigger enroll_limit on Enrollments
 Instead of Insert
 As
 Declare @Count int
 Declare @Capacity int
 Select @Count = COUNT(*) From Enrollments
 Select @Capacity = Capacity From CourseSections
 If @Count < @Capacity
 Begin 
      Insert Into Enrollments Select * From Inserted
 End
 GO

Я получаю сообщение об ошибке:

'CREATE TRIGGER' должен быть первым оператором в пакете запросов.

4b9b3361

Ответ 1

Сообщение об ошибке "CREATE TRIGGER" должно быть первым оператором в пакете запросов ". обычно возникает, когда предыдущая группа (партия) операторов не имеет завершающего GO

Итак, я бы предложил добавить add GO в конец предыдущих операторов пакета.

Ответ 2

Если вы пытаетесь это сделать из SQL Server Management Studio, вот еще один вариант, который работал для меня:

На левой панели щелкните правой кнопкой мыши базу данных и выберите "Новый запрос".

Это соединяет вас с конкретной базой данных. Теперь вы можете ввести свой оператор триггера как первый оператор в открывшемся окне запроса. Нет необходимости в использовании команды.

enter image description here