2012-11-13 23 views
8

Tôi có cò dưới đây:CREATE TRIGGER phải là tuyên bố đầu tiên trong một loạt

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 

tôi nhận được một msg lỗi nói:

'CREATE TRIGGER' phải báo cáo kết quả đầu tiên trong một loạt truy vấn.

+0

Có thể trùng lặp: http://stackoverflow.com/questions/10336384/dynamic-sql-error-create-trigger-must-be-the-first-statement-in-a-query-batch – WholeLifeLearner

Trả lời

29

Thông báo lỗi "'CREATE TRIGGER' phải là câu lệnh đầu tiên trong chuỗi truy vấn". thường xảy ra khi nhóm (các) tuyên bố trước đó không có kết thúc GO

Vì vậy, tôi khuyên bạn nên thêm một GO vào cuối câu lệnh của lô trước đó.

+1

Có thể đáng giá để lưu ý rằng "GO" cần phải nằm trên một dòng riêng. (Tôi phát hiện ra một cách khó khăn) –

Các vấn đề liên quan