commit与rollback的一个小问题

declarev_sqlvarchar2(256);begininsertintotestvalues(5);commit;foriin1..10loopv_sql:='... declare
v_sql varchar2(256);
begin
insert into test values(5);
commit;
for i in 1..10 loop
v_sql:='insert into test values('||i||')';
execute immediate v_sql;
end loop;
commit;
exception
when OTHERS then
rollback;
dbms_output.put_line('error code='||SQLCODE);
end;

这里的rollback是回滚到什么位置?有撤销了loop循环的commit操作码?请高手帮忙回答 谢谢
展开
 我来答
fangcniqcn
2010-11-06
知道答主
回答量:7
采纳率:0%
帮助的人:8.5万
展开全部
看是在那里除了问题
如果是在 insert into test values(5);出了问题,那就回滚到插入前的状态。如果是在后面出了问题因为insert into test values(5)这一行已经提交。只能回滚到insert into test values(5)之后的那个状态。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式