2012-11-13 12 views
8

ho il limite al di sotto:CREATE TRIGGER deve essere la prima istruzione in un batch

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 

Ricevo un msg di errore che dice:

'CREATE TRIGGER' deve essere la prima istruzione in un batch di query.

+0

Possibile duplicato: http://stackoverflow.com/questions/10336384/dynamic-sql-error-create-trigger-must-be-the-first-statement-in-a-query-batch – WholeLifeLearner

risposta

29

Il messaggio di errore "'CREATE TRIGGER' deve essere la prima istruzione in un batch di query." di solito si verifica quando un gruppo precedente (batch) di istruzioni non ha una terminazione GO

Quindi, suggerirei di aggiungere aggiungere un GO alla fine delle istruzioni del batch precedente.

+1

Potrebbe valere la pena di nota che "GO" deve essere sulla propria linea. (Ho scoperto la via difficile) –

Problemi correlati