oracle 用户自定义异常
做一个小于0显示没有那样的数据就行declarenot_dataexceptionbeginifnot_dta<0thenraisenot_data;endif;end;...
做一个小于0 显示 没有那样的数据就行
declare
not_data exception
begin
if not_dta<0 then
raise not_data;
end if;
end;
语法不太明白。
4行dta写错了 data 展开
declare
not_data exception
begin
if not_dta<0 then
raise not_data;
end if;
end;
语法不太明白。
4行dta写错了 data 展开
1个回答
展开全部
--设:要抛出的异常叫做ex_no_data,要判断是否小于0的变量为:v_data,则:
DECLARE
--声明异常
ex_no_data EXCEPTION; -- Exception to indicate an error condition
v_data NUMBER; -- Variable to hold data
--v_ErrorCode NUMBER; -- Variable to hold the error message code
--v_ErrorText VARCHAR2(200); -- Variable to hold the error message text
BEGIN
--抛出异常
IF v_data < 0 THEN --(括号内填抛出异常的条件)
RAISE ex_no_data;
END IF;
--捕捉异常
EXCEPTION
WHEN ex_no_data THEN
dbms_output.put_line(v_data);
--捕捉其他异常,并获得 捕获异常的内容
WHEN OTHERS THEN
null;
-- v_ErrorCode := SQLCODE;
-- v_ErrorText := SUBSTR(SQLERRM, 1, 200);
-- 注意这里用SUBSTR 来截取错误消息
--dbms_output.put_line(v_ErrorCode || '::'||v_ErrorText);
END;
/
---另可参考我之前的一个帖子:
http://zhidao.baidu.com/question/162989381.html
DECLARE
--声明异常
ex_no_data EXCEPTION; -- Exception to indicate an error condition
v_data NUMBER; -- Variable to hold data
--v_ErrorCode NUMBER; -- Variable to hold the error message code
--v_ErrorText VARCHAR2(200); -- Variable to hold the error message text
BEGIN
--抛出异常
IF v_data < 0 THEN --(括号内填抛出异常的条件)
RAISE ex_no_data;
END IF;
--捕捉异常
EXCEPTION
WHEN ex_no_data THEN
dbms_output.put_line(v_data);
--捕捉其他异常,并获得 捕获异常的内容
WHEN OTHERS THEN
null;
-- v_ErrorCode := SQLCODE;
-- v_ErrorText := SUBSTR(SQLERRM, 1, 200);
-- 注意这里用SUBSTR 来截取错误消息
--dbms_output.put_line(v_ErrorCode || '::'||v_ErrorText);
END;
/
---另可参考我之前的一个帖子:
http://zhidao.baidu.com/question/162989381.html
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询