关于SQL存储过程中的事务处理. 我现在想创建一个存储过程,同时向两个表中新增数据,我的要求是:1.这两个新增操作只能全部完成或全部失败,2.当第一个新增操作失败,则弹出错误提示,并中止继续操作.3.如果第一个新增操作成功,而第二个新增操作失败,则弹出错误信息,并取消第一个新增的操作. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 失败就rollback 两个都成功的情况下结束事物 create or replace procedure aa (o_msg out varchar2)is exp_tb1 EXCEPTION;exp_tb2 EXCEPTION;err_msg varchar2(100);begin begin err_msg:='insert table1 failed!'; insert into table1 ...; err_msg:='insert table2 failed!'; insert into table2 ...; err_msg:='insert OK!'; commit; EXCEPTION WHEN OTHERS THEN rollback; o_msg := err_msg || '(' ||SQLERRM||')'; --dbms_output.put_line(v_step||v_msg); end;end aa; 刚才那两个异常变量没有用到:create or replace procedure aa (o_msg out varchar2)is err_msg varchar2(100);begin begin err_msg:='insert table1 failed!'; insert into table1 ...; err_msg:='insert table2 failed!'; insert into table2 ...; err_msg:='insert OK!'; commit; EXCEPTION WHEN OTHERS THEN rollback; o_msg := err_msg || '(' ||SQLERRM||')'; dbms_output.put_line(o_msg); end;end aa; 如何把数据库中的表格导入到treeview HTML布局 关于C#调用COM组件的问题 线程释放内存的小问题,高手帮忙。。。 c#调用outlook给多人发送邮件的问题 如何取得webbrowser里form的action以及各input的值 XP下安装IIS的问题 非常急,走过路过帮忙看看!急关于asp调用分页存储过程的问题! DataGrid中的checkbox select问题 调试周立功USBCAN提示“尝试读取或写入受保护的内存”错误 net中的相对路径问题?在线等!! winform用VS自带的安布署项目如何将.CHM帮助文件加到菜单里面?
exp_tb2 EXCEPTION;
err_msg varchar2(100);
begin
begin
err_msg:='insert table1 failed!';
insert into table1 ...; err_msg:='insert table2 failed!';
insert into table2 ...; err_msg:='insert OK!'; commit;
EXCEPTION
WHEN OTHERS THEN
rollback;
o_msg := err_msg || '(' ||SQLERRM||')';
--dbms_output.put_line(v_step||v_msg);
end;
end aa;
create or replace procedure aa (o_msg out varchar2)is err_msg varchar2(100);
begin
begin
err_msg:='insert table1 failed!';
insert into table1 ...; err_msg:='insert table2 failed!';
insert into table2 ...; err_msg:='insert OK!'; commit;
EXCEPTION
WHEN OTHERS THEN
rollback;
o_msg := err_msg || '(' ||SQLERRM||')';
dbms_output.put_line(o_msg);
end;
end aa;