返回信息流有一个问题想请问一下,以下语句的执行结果是什么?
begin transaction
insert(1);
commit;
insert(2);
rollback;
这是一条镜像帖。来源:北邮人论坛 / database / #1324同步于 2007/7/18
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Database机器人发帖
commit&rollback
iceiceberg
2007/7/18镜像同步11 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
是吗?commit就是执行,rollback应该是回滚到这次commit之前吧,感觉insert(2)都不会被执行,而rollback后就是begin之前的状态,个人意见
insert(2)肯定不会执行的~~关键是insert(1)会不会呢?
【 在 pladinty (Chandler Bing) 的大作中提到: 】
: 是吗?commit就是执行,rollback应该是回滚到这次commit之前吧,感觉insert(2)都不会被执行,而rollback后就是begin之前的状态,个人意见
create table test_0809(
create_dt date);
select * from test_0809;
insert into test_0809 values (sysdate);
commit;
insert into test_0809 values (to_date('20070809','YYYYMMDD'));
rollback;
经实验1执行,2未执行
其实本来也是这样,commit就是在执行1之后提交的
2也执行了?……………………
【 在 lzxzgj1314 (CrazyGod的fans一) 的大作中提到: 】
: create table test_0809(
: create_dt date);
: select * from test_0809;
: ...................
……这个自然……
我的意思要是产生效果……
【 在 lzxzgj1314 (CrazyGod的fans一) 的大作中提到: 】
: commit实际理解起来也不是执行的意思吧,是提交
嗯,应该就是这个样子的~~其实我想问的是下面这个的运行结果:
这里面的2会执行吗?
*********
begin tran a
insert(1)
begin tran b
insert(2);
commit tran b
rollback tran a
*********
【 在 lzxzgj1314 (CrazyGod的fans一) 的大作中提到: 】
: 2没有,打错了...少打一个字