if exists(select * from b where id=5)
update b set s='fadfsd' where id=5
else
insert b select 5,'fadfsd'

解决方案 »

  1.   

    create table t(RecNo bigint,name varchar(10))
    gocreate trigger cfq on t
    instead of insert
    asif @@rowcount=0 returnif exists(select 1 from inserted a,t b where a.RecNo=b.RecNo)
    begin
      update b set b.name=a.name from inserted a,t b where a.RecNo=b.RecNo
    end
    else
    begin
      insert into t select * from inserted
    end
    goinsert into t select 1,'aa'
    select * from t
    goinsert into t select 1,'bb'
    select * from t
    godrop trigger cfq
    drop table t