- 我们可以使用EXCEPTION_INIT来对这个错误进行处理,首先我们得知道违反外键约束的这个Oracle错误代码“ORA-02292” - 使用EXCEPTION_INIT declare v_no number := &p_no; e_dept_exist exception; pragma exception_init(e_dept_exist,-02292); begin delete
编译指令EXCEPTION_INIT将告诉编译器,将异常名称和错误编号关联起来,使得在PL/SQL语句块中可以使用名称来引用所有的内部异常,为其在EXCEPTION语句块中编写特定的处理程序。 基本语法如下: 1 PRAGMA EXCEPTION_INIT (exception_name, oracle_error_number); PRAGMA是编译指令的声明,表示EXCEPTION_INIT编译指令将在编译时被...
EXCEPTION_INIT告诉编译器将异常名与ORACLE错误码结合起来,这样可以通过名字引用任意的内部异常,并且可以通过名字为异常编写一适当的异常处理器。 在子程序中使用EXCEPTION_INIT的语法如下: PRAGMA EXCEPTION_INIT(exception_name, -Oracle_error_number); 在该语法中,异常名是声明的异常,下例是其用法: DECLARE deadlock...
<异常情况> EXCEPTION; 2. 将其定义好的异常情况,与标准的ORACLE错误联系起来,使用EXCEPTION_INIT语句: PRAGMA EXCEPTION_INIT(<异常情况>, <错误代码>); 3. 在PL/SQL 块的异常情况处理部分对异常情况做出相应的处理。 例2:删除指定部门的记录信息,以确保该部门没有员工。 INSERT INTO departments VALUES(50, '...
问Oracle10g中忽略的exception_init()语句中的错误EN我在第7行(请参阅下面的代码)获得了错误,由10g...
2. 将其定义好的异常情况,与标准的ORACLE错误联系起来,使用EXCEPTION_INIT语句: PRAGMA EXCEPTION_INIT( < 异常情况 > , < 错误代码 > ); 3. 在PL/SQL 块的异常情况处理部分对异常情况做出相应的处理。 例2:删除指定部门的记录信息,以确保该部门没有员工。 INSERT INTO departments VALUES ( 50 , ' FINANCE...
exception_init编译指令的定义如下: pragma exception_init(exception_name,Oracle_error_number); exception_name是预先被声明的异常名,Oracle_error_number是错误号,这条命令必须写在定义部分。 例子: declare e_inte exception; --定义 pragma exception_intt(e_inte,-2291); --关联Oracle错误ORA-2291 begin updat...
init(age_exp,-20005);beginage:= &age;--if判断相当于try块;if age<0 thenraise age_exp;end if;insert into cc values(xx(100),'aaaa',age);exceptionwhen age_exp thenshow('年龄无效!');show(sqlcode);when others thenshow('other exception...');end;/ ...
步骤如下:1.在PL/SQL块的定义部分定义异常情况:EXCEPTION;2.将其定义好的异常情况,与规范的ORACLE错误联络起来,运用EXCEPTION_INIT语句:PRAGMAEXCEPTION_INIT(,);3.在PL/SQL块的异常情况处置部分对异常情况做出相应的处置。例2:删 12、除指定部门的记录信息,以确保该部门没有员工。INSERTINTOdepartmentsVALUES(50,...
(2) 反之,则跳转至 '最近一个 exception' 进行处理 1 2 3 1.1 思维导图 1.2 语法 1. 异常处理可以按任意次序排列,但 'others' 必须放在最后 2. 异常会被离它 '最近的一个 exception 块' 捕获到 (1) 若异常被 <异常1> 捕获到,那么该异常到此结束(不会继续判断 <异常2> 及其后面的) ...