写触发器
create trigger ti_table1 on table1 for insert
as
declare @userid varchar(10)
select @userid=user_id from inserted
if (select count(*) from table1 where user_id=@userid)>9
rollback transaction
go

解决方案 »

  1.   

    create trigger tr
    on 表
    instead of insert
    as
    if exists(select 1 from 表 T
                        join inserted I on T.user_id=I.user_id
                        where T.is_return='false'
                        group by T.user_id
                        having count(1)>=10  
             )
    begin
          raiserror('有用户超过10个',12,1)
    end
    else
    begin
          insert 表
          select * from inserted
    end
    go
      

  2.   

    create trigger tr
    on 表
    instead of insert
    asif (select count(*) from tablename where user_id=(select user_id from inserted))<10
    begin
          insert tablename select * from inserted
    end
    go