想要实现功能
A数据库中的表结构中有一个字段type,现在插入一条数据其中type的值是‘1’当插入成功的时候,想把这张表中除了刚插入的这条记录的type=1保持不变,在其前面所有的type=1的记录都update为‘0’

解决方案 »

  1.   

    先update,再插入啊,用事务。
      

  2.   

    begin tran
    insert tablename 
    select 其他列,1
    if @@error<>0
    rollback tranif @@rowcount>0
    begin
    --插入成功
    update tablename
    set id=0
    where 加入过滤条件得到前面的数据
    if @@error<>0
    rollback tran
    else
    commit tran
    end
      

  3.   

    要是有ID或者类似的辅助字段就好办了.
    假设有ID(自动增加)的字段,那么:
    update tablename set type = 0
    where ID < (select max(ID) FROM tablename)