日期:2014-05-18  浏览次数:20507 次

同一事务中,语句的执行顺序有先后吗?
在程序中,启动一个事务,有几条语句
delete   from   table1
insert   into   table1(a,b,c)   values( 'aa ', 'bb ', 'cc ')
insert   into   table1(a,b,c)   values( 'aaa ', 'bbb ', 'ccc ')

请问这三条语句执行的顺序是先删除,再插入两条记录吗?为什么我在程序中有时候插入了?有时候没有数据?没有数据我发现是被第一条语句删除了.TKS

------解决方案--------------------
是先删除,再插入两条记录

建議樓主加上事務處理,就可以避免了

如果你的程序只有一個客戶端使用的話,則不用加事務
------解决方案--------------------
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
加上事务可能要好一点啊
------解决方案--------------------
加一下吧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
有时因为进程原因!

------解决方案--------------------
:)
------解决方案--------------------
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 ')

------解决方案--------------------
就是按SQL的先后顺序过行执行,
加上事物,同时也要注意是否有别人在更新呢?
------解决方案--------------------
按先后招待
------解决方案--------------------
不会出现你说的后删除现象,应该是顺序执行的

请检查其他代码是否有问题