DB2存储过程模版
1、日志表 create table joblog ( jobfun varchar(50), --存储过程的功能 procname varchar(100), --存储过程 runtime varchar(50), --运行时间 currentuser varchar(50), --当前用户 state varchar(4), --状态 ChangeRecordsNum integer --受影响行数 ) state代表: --Joblog stats =0 正在执行 --Joblog stats =1 存储过程正常结束 --Joblog stats =8 有其他过程正在执行,中断 --Joblog stats =9 存储过程异常终止 2、存储过程模板 create PROCEDURE YY_Proc01 (IN FromDate integer) --Joblog stats =0 running --Joblog stats =1 Finish right --Joblog stats =8 Finish cause by another running --Joblog stats =9 Stop with exception LANGUAGE sql YY_Proc:begin declare JobFun varChar(50) default 'Delete W02 CINACC';-- declare ChangeRecordsNum integer default 0 ; declare flag integer default 0;--考虑作为返回参数 declare SQLSTATE char(5); declare at_end integer default 0; declare not_found condition for SQLSTATE '02000'; declare MyCur cursor for < ..select..>; /**********异常处理************/ declare exit HANDLER FOR SQLEXCEPTION begin rollback; insert into joblog values(JobFun,'YY_Proc01',(select current timestamp from sysibm.sysdummy1), (select user from sysibm.sysdummy1),'9',0);--执行遇到异常 set flag=1; return flag; end; declare CONTINUE HANDLER FOR not_found begin set at_end=1; end; /***************************/ set flag = 0; --开始工作 insert into logs insert into joblog values(JobFun,'YY_Proc01',(select current timestamp from sysibm.sysdummy1), (select user from sysibm.sysdummy1),'0',0); OPEN MyCur; set at_end=0; FETCH MyCur INTO ans; WHILE at_end=0 DO --your work SET at_end = 0; --循环受影响行 Set ChangeRecordsNum = ChangeRecordsNum+1; FETCH MyCur INTO ans; END WHILE; CLOSE MyCur; --顺利执行完毕 insert into joblog values(JobFun,'YY_Proc01',(select current timestamp from sysibm.sysdummy1), (select user from sysibm.sysdummy1),'1',ChangeRecordsNum); commit; set flag=0; return flag; end YY_Proc
分类:
数据库
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架