读书人

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

发布时间: 2013-01-07 10:02:24 作者: rapoo

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';
这句有问题?

读书人网 >IBM DB2

热点推荐