db2回滚处理问题.docxVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
db2 回滚处理问题 DB2 处理器对于存储过程来说,有着不可替代的作用。在 DB2 中,SQL 存储过程可以利用 DB2 处理器(Condition Handler)来处理存储过程运行过程中的SQL 错误(SQLERROR)、SQL 警告(SQLWARNING)和没有数据(NOT FOUND)三种常见情 况以及你自己定义的触发,你可以使用包括退出(EXIT)、继续(CONTINUE)和撤销 (UNDO)在内的三种处理器。 在SQL 存储过程运行过程中,如果出现了SQLERROR、SQLWARNING 和NOT FOUND 三种情况,SQL 存储过程将会自动将执行 SQL 语句后的 SQLCODE 和 SQLSTATE 存储在你事先定义好的变量 SQLCODE 和 SQLSTATE 中,并触发你在存储过程中定义的处理器。 在 SQL 存储过程处理错误,您需要做如下两步:声明 SQLCODE 和 SQLSTATE 变量、定义处理器。在 SQL 存储过程中,您通过下列语句声明 SQLCODE 和SQLSTATE 变量: DECLARE SQLCODE INTEGER DEFAULT 0; DECLARE SQLSTATE CHAR(5) DEFAULT ‘00000’; 当存储过程执行时,DB2 会自动将该 SQL 语句的返回码付给这两个变量,你可以在调试程序的时候,将这两个值插入到调试表中,或者利用处理器将这两个值返回给调用者。这样可以方便 SQL 存储过程的调试。注意:当你在 SQL 存储过程中存取 SQLCODE 和 SQLSTATE 时,DB2 会自动将 SQLCODE 和 SQLSTATE 置为零。 可以通过下列语句定义 DB2 处理器: DECLARE handler-type HANDLER FOR condition SQL-procedure-statement 其中 handler-type 可以是如下几种: CONTINUE:SQL 存储过程在执行完处理器中的 SQL 语句后,继续执行出错 SQL 语句后边的 SQL 语句。 EXIT: SQL 存储过程在执行完处理器中的 SQL 语句后,退出存储过程的执行。 UNDO:这种处理器仅限于原子动作(ATOMIC)复合 SQL 语句,SQL 存储过程将会回滚包含该处理器的复合 SQL 语句,并在执行完该处理器中的 SQL 语句后,继续执行原子动作(ATOMIC)复合 SQL 语句后面的 SQL 语句。 包括如下三种常见情况: SQLEXCEPTION:在 SQL 执行过程中返回任何负值。 SQLWARNING:在SQL 执行过程中出现警告(SQLWARN0 为‘W’),或者是任何不是+100 的正的 SQL 返回值,相应的 SQLSTATE 以‘01’开始。 NOT FOUND:SQL 返回值为+100 或者 SQLSTATE 以‘02’开始。 当然你也可以使用 DECLARE 语句为特定的 SQLSATE 定义你自己的。

文档评论(0)

hao187 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体 武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档