表a,表b,结构完全相同
存储过程要求:
将表a中的全部记录,在表b中查找,如果表b中存在此条记录,就update,如果不存在则把此记录insert,
请问如何写,小弟新手,感谢!

解决方案 »

  1.   

    update B set 字段1=A.字段1
    from A inner join B on A.id=B.id
    insert into B
    select *
    from A
    where checksum(*) not in (select checksum(*) from B)
      

  2.   

    继承ls的
    create procedure pro_B
    as
    --先更新
    update B set 字段1=A.字段1
    from A inner join B on A.id=B.id
    --再插入
    insert into B
    select *
    from A
    where checksum(*) not in (select checksum(*) from B)
    go
      

  3.   

    create proc sp_同步数据
    as
    set xact_abort onbegin tranupdate B set 字段1=A.字段1
    from A inner join B on A.id=B.id
    insert into B
    select *
    from A
    where checksum(*) not in (select checksum(*) from B)commit tranreturn 0