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

标签 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' must be the first statement in a query batch.

最佳答案

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

时发生

因此,我建议在前一个批处理语句的末尾添加 GO

关于sql-server - CREATE TRIGGER 必须是批处理中的第一个语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13370505/

相关文章:

sql - 根据字段值插入一行

sql - 命中触发器后给定 SELECT 结果的 PostgreSQL INSERT 或 UPDATE 值

sql-server - 触发器的死锁问题

php - 用于 PHP 访问 MS SQL 的 Linux 驱动程序在哪里?

sql-server - 将选择计数(*)值保存为整数(SQL Server)

sql - 将多个参数传递给 SQL Server

sql - 需要帮助限制 Transact-sql 中的联接

mysql - 三个表 INNER JOIN 和 WHERE 子句

mysql - mysql 中的触发器需要更正

sql - 比较表中的列值计数