在程序中,启动一个事务,有几条语句
delete from table1
insert into table1(a,b,c) values('aa','bb','cc')
insert into table1(a,b,c) values('aaa','bbb','ccc')请问这三条语句执行的顺序是先删除,再插入两条记录吗?为什么我在程序中有时候插入了?有时候没有数据?没有数据我发现是被第一条语句删除了.TKS

解决方案 »

  1.   

    begin transaction 
    delete from table1
    insert into table1(a,b,c) values('aa','bb','cc')
    insert into table1(a,b,c) values('aaa','bbb','ccc')
    commit transaction
    加上事务可能要好一点啊
      

  2.   

    这三条语句本来是一个事务,在C#中用ADO.NET启动事务的,我跟踪发现有一个插入不进去,我怕是自己把他删除了,如果是先删,在插入就没有问题了
      

  3.   

    加一下吧begin transaction 
    delete from table1
    insert into table1(a,b,c) values('aa','bb','cc')
    insert into table1(a,b,c) values('aaa','bbb','ccc')
    commit transaction
    有时因为进程原因!
      

  4.   

    sql 也一样自顶而下批处理执行
    1:delete from table1
    2:insert into table1(a,b,c) values('aa','bb','cc')
    3:insert into table1(a,b,c) values('aaa','bbb','ccc')
      

  5.   

    就是按SQL的先后顺序过行执行,
    加上事物,同时也要注意是否有别人在更新呢?