CREATE TRIGGER必须是批处理中的第一个语句

时间:2012-11-13 23:12:52

标签: sql-server tsql triggers

我有以下触发器:

 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'必须是查询批处理中的第一个语句。

2 个答案:

答案 0 :(得分:36)

错误消息“'CREATE TRIGGER'必须是查询批处理中的第一个语句。”通常在前面的一组(批)语句没有终止GO

时发生

所以,我建议在前一批语句的末尾添加一个GO

答案 1 :(得分:0)

如果您正在SQL Server Management Studio中尝试此操作,这是另一个对我有用的选项:

在左窗格中,右键单击数据库,然后选择“新建查询”。

这将您连接到特定的数据库。现在,您可以在打开的查询窗口中输入创建触发器语句作为第一条语句。不需要“使用”命令。

enter image description here