create trigger tablename_insert on tablename for insert 
asupdate tablename set www=www+1

解决方案 »

  1.   

    但是这样一来,tablename中所有的records都被updated ( 加1),逻辑上好象有问题
      

  2.   

    也许把舌头按照数据库操作的思想理顺了,就不是那个意思了。不过还是将就你一下。create trigger myTrigger on myTable instead of insert as
        declare @t table(row int identity,myTableKey)
        declare  @m int
        set @m=(select max(www) from myTable)
        set @m=isnull(@m,0)
        insert @t(myTableKey) select myTableKey from inserted
        insert myTable(...) select t.row+@m www,....其它来自i的字段... from @t t,inserted i
      

  3.   

    如果你的业务流程就是有那样的要求,那么应该是这样:create trigger myTrigger on myTable after insert as
      if @@rowcount<>1
      begin
        raiserror('不允许同时插入多条记录',16,1)
        rollback transaction
        return
      end