异常处理
DECLARE EXIT HANDLER FOR SQLWARNING,SQLEXCEPTION,NOT FOUND
BEGIN
SET oi_return = SQLCODE;
SET ov_msg = SQLSTATE;
ROLLBACK;
END;
Category Timestamp Duration Message Line Position
Statement 2012-11-1 12:00:47 0:00:00.468 Executed Successfully @OI_RETURN = -801, @OV_MSG = 00000 1 0
这里出现除零异常,但是为什么SQLSTATE为‘00000’。其他地方没有使用输出参数,定义的时候也没有指定默认值
SET oi_return = SQLCODE;
运动会口号 这也是一条语句,执行了之后,SQLCODE和SQLSTATE就都变了。
SQLSTATE='00000',表示SET oi_return = SQLCODE语句执行成功。
为了防止被覆盖,你必须在一条语句中同时获取SQLCODE和SQLSTATE,可以这样写:
VALUES (SQLCODE,SQLSTATE) INTO oi_return, ov_msg;