`
reymont
  • 浏览: 529533 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Oracle PRAGMA EXCEPTION_INIT

阅读更多
看书看到pragma exception_init(e_integrity, -2291);
感到很难以理解

翻了一下oracle PLSQL_User_Guide_and_Reference

引用
http://download-west.oracle.com/docs/cd/B10501_01/appdev.920/a96624/07_errs.htm#917


原来有些oracle error是没有名字的,这些error可以通过pragma来在编译的时候将名字和具体错误链接

在PL/SQL中 pragma exception_init告诉编译器e_integrity是和oracle error 2291联系在一起的。

语法是

PRAGMA EXCEPTION_INIT(错误名, -错误号);


exception_name is the name of a previously declared exception and the number is a negative value corresponding to an ORA- error number.
分享到:
评论

相关推荐

    Oracle 存储过程异常处理.docx

    对于内部异常,可以使用 OTHERS 异常处理器或 PRAGMA EXCEPTION_INIT 告诉编译器将异常名与 Oracle 错误码结合起来。对于用户自定义异常,只能在 PL/SQL 块中的声明部分声明异常。 在子程序中使用 EXCEPTION_INIT ...

    oracle异常总结

    PRAGMA EXCEPTION_INIT(e_constraint_violation, -2291); BEGIN -- 代码段 EXCEPTION WHEN e_constraint_violation THEN -- 错误处理逻辑 END; ``` 自定义异常则是开发者根据业务需求创建的异常,用于处理与...

    oracle异常处理

    2. 使用 `PRAGMA EXCEPTION_INIT` 将异常与特定的 Oracle 错误号关联。 3. 在异常处理部分捕获并处理异常。 以下是一个使用非预定义异常处理 `ORA-02291`(违反完整性约束)的例子: ```sql DECLARE e_integrity ...

    Oracle PLSQL入门知识.doc

    使用`PRAGMA EXCEPTION_INIT`可以将自定义异常与特定的Oracle错误号关联。 6. 单条记录查询: 在PL/SQL中,可以使用SELECT ... INTO语句查询单条记录并直接赋值给变量。如果查询结果为空,会抛出NO_DATA_FOUND异常...

    Oracle8i_9i数据库基础

    §16.4.2.2 使用户EXCEPTION_INIT处理 286 §16.4.2.3 使用户raise_application_error处理 286 第十七章 创建包和使用包 287 §17.1 引言 287 §17.2 包的定义 288 §17.3 包的开发步骤 289 §17.4 包的头部说明 289...

    ORACLE之常用问题解答

    PRAGMA EXCEPTION_INIT(exception_name, error_number); RAISE_APPLICATION_ERROR(error_number, error_msg, true|false); ``` `error_number`的取值范围为-20000至-20999,而`error_msg`的最大长度为2048个字符。 ...

    维护项目oracle常用语句

    在PL/SQL中,可以使用`pragma_exception_init`来初始化自定义异常,如`pragma_exception_init(my_exception, -20001);`。当发生异常时,可以通过`raise_application_error`抛出自定义异常,如`raise_application_...

    异常处理的相关知识与实例

    - 在这个例子中,我们定义了一个自定义异常`insert_error`,并通过`PRAGMA EXCEPTION_INIT`将其与Oracle预定义的错误码`-1400`(主键冲突)关联起来。 - 当尝试向`emp`表插入一个带有空值的主键时,将触发`insert_...

    createtable.rar_oracle

    PRAGMA EXCEPTION_INIT(table_exists, -955); --ORA-00955错误表示表已存在 BEGIN EXECUTE IMMEDIATE 'CREATE TABLE my_table (id INT PRIMARY KEY)'; EXCEPTION WHEN table_exists THEN DBMS_OUTPUT.PUT_LINE('...

    oracle 之FAQ

    PRAGMA EXCEPTION_INIT(exception_name, error_number); RAISE_APPLICATION_ERROR(error_number, error_msg, true|false); ``` 其中`error_number`范围是-20000到-20999,错误消息最大长度为2048字节。还可以...

    oracle异常和游标管理.pptx

    关联是通过 PRAGMA EXCEPTION_INIT 编译指示建立的。例如, DUP_ROW 异常是指插入操作试图插入重复的行。 ### 用户定义的异常 用户定义的异常是由程序定义的错误。在声明部分中声明,使用 EXCEPTION 声明用户定义...

    oracle学习必备资料

    4. **自定义异常**:在PL/SQL中,可以使用`PRAGMA EXCEPTION_INIT`预定义异常,并通过`RAISE_APPLICATION_ERROR`来抛出自定义错误。自定义错误号应处于`-20000`到`-20999`之间,同时可以传递错误信息。 5. **数值...

    oracle 12c new feature

    PRAGMA EXCEPTION_INIT(Plsql_Num_Error, -06502); BEGIN IF (TO_NUMBER(x) IS NOT NULL) THEN RETURN 'Y'; ELSE RETURN ''; END IF; EXCEPTION WHEN Plsql_Num_Error THEN RETURN 'N'; END Is_Number_ool; / ``` ...

    Oracle中实现continue的方法

    PRAGMA EXCEPTION_INIT(e_userdefinedexception, -1401); BEGIN LOOP radius := radius + 1; BEGIN IF radius = 4 THEN RAISE e_userdefinedexception; -- 手动引发异常 ELSE area := pi * POWER(radius,...

    oracle

    用户可以使用`EXCEPTION`声明创建自定义异常,并通过`PRAGMA EXCEPTION_INIT`初始化它们;系统异常则由Oracle系统引发,通常不可预测。 ### 3. 游标(Cursors) 游标是PL/SQL中处理记录集的重要工具,允许逐行访问...

    如何从Oracle的存储过程中访问操作系统的资源.pdf

    PRAGMA EXCEPTION_INIT(EXCEP, -20000); BEGIN EXECUTE IMMEDIATE 'BEGIN ' || LANGUAGE_JAVA || '.' || JAVA_METHOD || '(' || IN_path || '); END;'; EXCEPTION WHEN EXCEP THEN DBMS_OUTPUT.PUT_LINE('An ...

    ORACLE入门基础,本地动态SQL执行语句

    PRAGMA EXCEPTION_INIT(BAD_ROWID, -01445); BEGIN SELECT ROWID INTO X FROM TAB WHERE ROWNUM = 1; EXCEPTION WHEN BAD_ROWID THEN DBMS_OUTPUT.PUT_LINE('无法从此视图查询 ROWID'); END; ``` 其中 `-01445`...

Global site tag (gtag.js) - Google Analytics