欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

db2存储过程有关问题-求教育啊

更新时间: 2014-01-05 02:23:31 责任编辑: Author_N1

 

DB2存储过程问题---急求教育啊。
我用存储过程。现想实现一个这样的功能,当执行sql语句出错的时候,把错误信息和表名插入到自己建的日志表里。
功能很简单,但刚学DB2,我不知道这个功能怎么实现,求各位大神指点迷津。。。。
--参考方法--
转:参考一下
DROP PROCEDURE TestProc()@

--创建该存储过程
CREATE PROCEDURE TestProc()
LANGUAGE SQL
BEGIN

  --变量定义  
  DECLARE sqlcode INTEGER DEFAULT 0;
  DECLARE sqlstate CHAR(5);
  DECLARE v_Message CHAR(100);
  
  --SQL异常处理,插入到错误日志表中
  DECLARE exit handler FOR sqlexception
  BEGIN

    --开始异常处理
    VALUES ('存储过程 TestProc 调用失败,SQLCode:' 
--参考方法--
 CHAR(sqlcode) 
--参考方法--
 'SQLState:' 
--参考方法--
 CHAR(sqlstate))
      INTO v_Message;

    INSERT INTO TestLog(T_Message)
      VALUES (v_Message);

    --显式提交事务
    COMMIT;

    --设置存储过程返回值
    SIGNAL SQLSTATE '99999'
    SET MESSAGE_TEXT = 'TestProc throw error';
  END;

  --开始实现业务逻辑
  UPDATE TestTable
    SET T_Year = INTEGER(SUBSTR(T_HalfYear,1,4));

END@
--参考方法--
提示什么,

UPDATE ST_T_TIME SET ST_T_TIME.UPDATETIME=T_MAXCSJS WHERE ST_T_TIME.TABLENAME='ST_A_ORG_STO';
这句有问题?
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:23:31
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/9241/
本文WWW.DOC100.NET DOC100.NET版权所有。