CREATE TRIGGER必须是批处理的第一个语句(CREATE TRIGGER must be

2019-08-02 17:44发布

我有以下触发器:

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

Answer 1:

该错误消息“‘CREATE TRIGGER’必须是查询批次中的第一个语句。” 通常发生在语句的前述基团(批处理)不具有终止GO

所以,我建议增加添加GO前款批次的语句的结束。



Answer 2:

如果是从SQL Server Management Studio中尝试此,这里是为我工作的另一种选择:

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

这会连接到特定的数据库。 现在,您可以输入您的CREATE TRIGGER语句,在打开的查询窗口的第一个语句。 没有必要为一个“use”命令。



文章来源: CREATE TRIGGER must be the first statement in a batch