是否所有Oracle异常都已命名?
特别是,我一直试图找到ORA-0955的名称,以提高代码的可读性 目前我正在使用以下工具:是否所有Oracle异常都已命名?,oracle,exception,plsql,Oracle,Exception,Plsql,特别是,我一直试图找到ORA-0955的名称,以提高代码的可读性 目前我正在使用以下工具: EXCEPTION WHEN OTHERS THEN IF SQLCODE = -00955 我更喜欢的是: EXCEPTION WHEN OBJECT_EXISTS THEN 这对我来说似乎更干净,我更喜欢这样。但我在SYS.STANDARD中查看过,它列出了相对较少的命名异常。在线文档似乎反映了SYS.STANDARD中的内容。还有别的包裹要看吗?其他资源?不,并非所有Oracle
EXCEPTION
WHEN OTHERS THEN
IF SQLCODE = -00955
我更喜欢的是:
EXCEPTION
WHEN OBJECT_EXISTS THEN
这对我来说似乎更干净,我更喜欢这样。但我在SYS.STANDARD中查看过,它列出了相对较少的命名异常。在线文档似乎反映了SYS.STANDARD中的内容。还有别的包裹要看吗?其他资源?不,并非所有Oracle异常都有预定义的名称。
exception\u init
杂注可用于将名称与异常代码关联:
create table tb_1(
col number
);
set serveroutput on;
declare
not_unique_object_name exception;
pragma exception_init(not_unique_object_name, -955);
begin
execute immediate 'create table tb_1(col number)';
exception
when not_unique_object_name then
dbms_output.put_line('Not unique object name');
end;
anonymous block completed
Not unique object name
有关
exception\u init
pragma的详细信息。不,并非所有Oracle异常都有预定义的名称。exception\u init
杂注可用于将名称与异常代码关联:
create table tb_1(
col number
);
set serveroutput on;
declare
not_unique_object_name exception;
pragma exception_init(not_unique_object_name, -955);
begin
execute immediate 'create table tb_1(col number)';
exception
when not_unique_object_name then
dbms_output.put_line('Not unique object name');
end;
anonymous block completed
Not unique object name
更多关于
exception\u init
pragma的信息。谢谢,我搜索了几个小时,没有看到任何东西表明没有名字。谢谢,我搜索了几个小时,没有看到任何东西表明没有名字。