DB2异常处理以及事务提交
2015-07-16 17:39
253 查看
使用开发工具是toad for db2,
--声明出错处理
declare exit handler for sqlexception
begin
set i_code=sqlcode;
set i_err_no=1;
insert into xtb_log values(v_proc_name,i_code);
commit;
end;
--v_proc_name式存储过程的名字
--i_code系统错误的错误码。
当遇到错误的时候就会插入到xtb_log中并且退出(exit),也有回滚以及其他的操作,将exit改下就可以了。
事物提交控制:
P1:begin atomic
insert into gqjl_zcjjjy(jyrq,khdxdh,jyid,jyzh,jffse,dffse,dfzh,jyls,zhye,zy,czy,czsj,bz)
select jyrq,khdxdh,jyid,jyzh,jffse,dffse,dfzh,jylx,zhye,zy,czy,czsj,bz from session.TMP_JYZHJL;
insert into gqjl_zcjjjy(jyrq,khdxdh,jyid,jyzh,jffse,dffse,dfzh,jyls,zhye,zy,czy,czsj,bz)
select jyrq,khdxdh,jyid,jyzh,jffse,dffse,dfzh,jylx,zhye,zy,czy,czsj,bz from session.TMP_DFZHJL;
end P1;
commit;
如果第二句话插入失败,那么第一句插入的数据也会回滚。
select * from xtb_tab where tjrq=:b;
这里的:b是输入参数。
DB2基于会话的全局变量临时表
declare global temporary table session.TMP_JYZHJL
(
JYRQ INT ,--交易日期
KHDXDH INT ,
JYLSH INT ,--交易流水号
)
with replace --有该表就替代
on commit preserve rows --基于会话
not logged;--无日志
基于会话我理解就是在一个存储过程中从开始到执行完。不知道对不对,有大神最好给出正确理解。。。。。。
--声明出错处理
declare exit handler for sqlexception
begin
set i_code=sqlcode;
set i_err_no=1;
insert into xtb_log values(v_proc_name,i_code);
commit;
end;
--v_proc_name式存储过程的名字
--i_code系统错误的错误码。
当遇到错误的时候就会插入到xtb_log中并且退出(exit),也有回滚以及其他的操作,将exit改下就可以了。
事物提交控制:
P1:begin atomic
insert into gqjl_zcjjjy(jyrq,khdxdh,jyid,jyzh,jffse,dffse,dfzh,jyls,zhye,zy,czy,czsj,bz)
select jyrq,khdxdh,jyid,jyzh,jffse,dffse,dfzh,jylx,zhye,zy,czy,czsj,bz from session.TMP_JYZHJL;
insert into gqjl_zcjjjy(jyrq,khdxdh,jyid,jyzh,jffse,dffse,dfzh,jyls,zhye,zy,czy,czsj,bz)
select jyrq,khdxdh,jyid,jyzh,jffse,dffse,dfzh,jylx,zhye,zy,czy,czsj,bz from session.TMP_DFZHJL;
end P1;
commit;
如果第二句话插入失败,那么第一句插入的数据也会回滚。
select * from xtb_tab where tjrq=:b;
这里的:b是输入参数。
DB2基于会话的全局变量临时表
declare global temporary table session.TMP_JYZHJL
(
JYRQ INT ,--交易日期
KHDXDH INT ,
JYLSH INT ,--交易流水号
)
with replace --有该表就替代
on commit preserve rows --基于会话
not logged;--无日志
基于会话我理解就是在一个存储过程中从开始到执行完。不知道对不对,有大神最好给出正确理解。。。。。。
相关文章推荐
- 一个TextView使用不同的颜色
- Ant 风格路径表达式
- 编译型语言和解释型语言
- handler引发内存泄露
- 第十章:在Spark集群上掌握比较重要的图操作之Computing Degree
- No result defined for action
- 定向广播的几种方式
- [优先队列] HDU4006 The kth great number
- API--Object,String,Scanner--2
- 字符转换常用函数总结
- C语言实现修改文本文件中特定行的实现代码
- 使用Jscex改善JavaScript异步编程体验
- JAVA面试题:Spring中bean的生命周期
- python sys.path.append
- B - Frogger
- js笔记--1
- Windows命令-route
- Spring AOP声明式事务异常回滚
- nginx+lua+redis实现验证码防采集
- 主窗体设计