create trigger aaa on tablename 
instead of insert
as begin 
declare @mycount int
select @mycount=count(*) from tablename where id=@kkk 
if @mycount<5 begin
insert into tablename select * from inserted
end

解决方案 »

  1.   

    改一下
    create trigger aaa on tablename 
    instead of insert
    as begin 
    declare @mycount int
    select @mycount=count(*) from tablename where id= (select top 1 id from inserted)
    if @mycount<5 begin
    insert into tablename select * from inserted
    end
      

  2.   

    少一个end:)ok
    谢谢!
      

  3.   

    你的有点问题,设置CertID自动增加就不行了这样可以CREATE trigger count5 on dbo.Certificates 
    FOR INSERT, UPDATE
    as 
    begin 
    declare @mycount int
    select @mycount=count(*) from Certificates where UserID= (select top 1 UserID from inserted)
    if @mycount>5 
    begin
    raiserror('Too many',16,1)
    rollback     
    end 
    end