当前位置:首页 » 存储配置 » oracle存储过程exception

oracle存储过程exception

发布时间: 2025-08-07 04:57:23

㈠ oracle怎么写存储过程

给你示例你参考下:
----------------------------建立存储过程:
CREATE OR REPLACE PROCEDURE P_name--存储过程名字
(
i_var in int, --输入参数1
o_var OUT varchar2 --输出参数1
)
IS
v_STR VARCHAR2(200); --定义存储过程内部的局部变量

BEGIN
--下面是存储过程的主体实现部分
v_STR := i_var;
dbms_output.put_line(v_STR);
o_var := v_STR;
exception--错误异常处理部分
when others then
dbms_output.put_line(sqlerrm);--打印错误信息
END P_name;

-----------------------------------调用存储过程示例:
declare
v_in int;
v_out varchar2(50);
begin
v_in :=100;
P_name (v_in,v_out); --调用存储过程P_name
dbms_output.put_line('存储过程输入结果为:'||v_out);
exception--错误异常处理部分
when others then
dbms_output.put_line(sqlerrm);--打印错误信息
end;

㈡ 请教关于oracle中写存储过程时 select into 语句报错的问题

定义一个块,块中说明异常情况下如何处理就可以了。
begin
select 字段 into 变量...
exception
when NO_DATA_FOUND then --未找到时
处理逻辑
when exception_code then --这里的错误代码可以在standard包中找到
处理逻辑
when OTHERS then --default错误时
处理逻辑
end;
错误代码可通过如下语句获得:
select * from dba_source where owner='SYS' and name='STANDARD' and type='PACKAGE' and text like ' pragma EXCEPTION%';

㈢ 请教各位高手 oracle 存储过程 如何获得 捕获异常的内容

--通过sqlcode , sqlerrm 这两个内置变量来查看,例如:

DECLARE
--声明异常
some_kinds_of_err EXCEPTION; -- Exception to indicate an error condition

v_ErrorCode NUMBER; -- Variable to hold the error message code
v_ErrorText VARCHAR2(200); -- Variable to hold the error message text

BEGIN
--...
--抛出异常
IF ( ... ) THEN --(括号内填抛出异常的条件)
RAISE some_kinds_of_err;
END IF;
--...
EXCEPTION
--捕捉异常
WHEN some_kinds_of_err THEN
/* do something to Handler the errors */
null;
--捕捉其他异常,并获得 捕获异常的内容
WHEN OTHERS THEN
v_ErrorCode := SQLCODE;
v_ErrorText := SUBSTR(SQLERRM, 1, 200);
-- Note the use of SUBSTR here.

dbms_output.put_line(v_ErrorCode || '::'||v_ErrorText);
END;
/

/**
sqlcode 就是错误代码
sqlerrm 就是sql错误信息。注意用substr来截取,否则输出很难看。

**/

㈣ oracle 存储过程,请问这样的一个存储过程执行中其中一条语句报错,接下来的语句还会执行吗

不会,直接抛出异常,并终止。存储过程是预编译sql的,主题出错会导致整个存储过程执行失败。

㈤ 在使用oracle创建存储过程部分代码: EXCEPTION WHEN NO_DATA_FOUND THEN NULL; WHEN OTHERS THEN RAISE;

NULL 当没有数据时,抛出空值

RAISE 是用来抛出异常的,没带参数的如你上面的这种,就是将当前的异常传到外部程序。

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:585
制作脚本网站 发布:2025-10-20 08:17:34 浏览:881
python中的init方法 发布:2025-10-20 08:17:33 浏览:574
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:761
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:678
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1005
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:251
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:108
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:799
python股票数据获取 发布:2025-10-20 07:39:44 浏览:705