- 浏览: 1067262 次
- 性别:
- 来自: 南京
文章分类
- 全部博客 (501)
- dwr (6)
- javascript (84)
- oracle (66)
- jsp/servlet (18)
- ant (3)
- 基础知识 (12)
- EXT (10)
- My SQL (10)
- java (71)
- spring (37)
- 学习的对象 (2)
- Linux (24)
- 面试 (1)
- HTML/CSS (11)
- tomcat (11)
- 收藏夹 (2)
- Power Designer (2)
- struts.xml配置文件 (1)
- sturts2 (3)
- myeclipse (8)
- eclipse (7)
- Maven (34)
- SVN (3)
- SAP JCO (2)
- JBOSS (11)
- webservice (8)
- word (1)
- 敏捷开发 (1)
- sybase (4)
- Nexus (3)
- EhCache (3)
- log4j (3)
- Cookie (4)
- Session (4)
- CXF (7)
- AXIS (2)
- SSO (1)
- LDAP (1)
- velocity (2)
- Jquery (5)
- redis (2)
- http (4)
- dojo (1)
- Linux资源监控软件mnon的安装与运用 (1)
- notepad++ (1)
- EA (1)
- UML (1)
- JasperReports (1)
- 权限 (0)
- freemarker (4)
- Spring MVC (1)
- JMS (1)
- activeMQ (1)
- hession (3)
- 安全 (1)
- ibatis (2)
- log (1)
- nginx (1)
最新评论
-
winhbb:
我刚好遇到了一个问题(在可以依赖注入的场合有效):有两个模块A ...
解决Maven项目相互依赖/循环依赖/双向依赖的问题 -
nanjiwubing123:
long3ok 写道你好 XmlOutputFormatter ...
用XStream转换复杂XML -
zhoujianboy:
另外一个方法实现eclipse tomcat 热部署:http ...
eclipse下实现maven项目在tomcat容器热部署方法 -
long3ok:
你好 XmlOutputFormatter 请问这个类是在什么 ...
用XStream转换复杂XML -
ganbo:
总结的好,文章给力。
解决Maven项目相互依赖/循环依赖/双向依赖的问题
如果要处理未命名的内部异常,必须使用OTHERS异常处理器或PRAGMA EXCEPTION_INIT 。PRAGMA由编译器控制,或者是对于编译器的注释。PRAGMA在编译时处理,而不是在运行时处理。EXCEPTION_INIT告诉编译器将异常名与ORACLE错误码结合起来,这样可以通过名字引用任意的内部异常,并且可以通过名字为异常编写一适当的异常处理器。
在子程序中使用EXCEPTION_INIT的语法如下:
PRAGMA EXCEPTION_INIT(exception_name, -Oracle_error_number);
在该语法中,异常名是声明的异常,下例是其用法:
DECLARE
deadlock_detected EXCEPTION;
PRAGMA EXCEPTION_INIT(deadlock_detected, -60);
BEGIN
... -- Some operation that causes an ORA-00060 error
EXCEPTION
WHEN deadlock_detected THEN
-- handle the error
END;
对于用户自定义异常,只能在PL/SQL块中的声明部分声明异常,异常的名字由EXCEPTION关键字引入:
reserved_loaned Exception
产生异常后,控制传给了子程序的异常部分,将异常转向各自异常控制块,必须在代码中使用如下的结构处理错误:
Exception
When exception1 then
Sequence of statements;
When exception2 then
Sequence of statements;
When others then
1. 在PL/SQL 块的定义部分定义异常情况:
<异常情况> EXCEPTION;
2. 将其定义好的异常情况,与标准的ORACLE错误联系起来,使用EXCEPTION_INIT语句:
PRAGMA EXCEPTION_INIT(<异常情况>, <错误代码>);
3. 在PL/SQL 块的异常情况处理部分对异常情况做出相应的处理。
【转载】 http://hi.baidu.com/ziyou121/blog/item/6c15667e066ab53f0cd7da9e.html
在子程序中使用EXCEPTION_INIT的语法如下:
PRAGMA EXCEPTION_INIT(exception_name, -Oracle_error_number);
在该语法中,异常名是声明的异常,下例是其用法:
DECLARE
deadlock_detected EXCEPTION;
PRAGMA EXCEPTION_INIT(deadlock_detected, -60);
BEGIN
... -- Some operation that causes an ORA-00060 error
EXCEPTION
WHEN deadlock_detected THEN
-- handle the error
END;
对于用户自定义异常,只能在PL/SQL块中的声明部分声明异常,异常的名字由EXCEPTION关键字引入:
reserved_loaned Exception
产生异常后,控制传给了子程序的异常部分,将异常转向各自异常控制块,必须在代码中使用如下的结构处理错误:
Exception
When exception1 then
Sequence of statements;
When exception2 then
Sequence of statements;
When others then
1. 在PL/SQL 块的定义部分定义异常情况:
<异常情况> EXCEPTION;
2. 将其定义好的异常情况,与标准的ORACLE错误联系起来,使用EXCEPTION_INIT语句:
PRAGMA EXCEPTION_INIT(<异常情况>, <错误代码>);
3. 在PL/SQL 块的异常情况处理部分对异常情况做出相应的处理。
【转载】 http://hi.baidu.com/ziyou121/blog/item/6c15667e066ab53f0cd7da9e.html
发表评论
-
Oracle强制使用索引
2013-01-25 16:48 5399Oracle强制使用索引: select /*+ INDEX ... -
Oracle if exists(...)
2013-01-22 10:52 1316对于Oracle中没有 if exists(...) 的语法, ... -
oracle 赋debug权限
2013-01-15 15:29 4125pl/sql 报错 不能运行debug 时 ora-0131 ... -
Oracle 10g使用游标更新或删除数据
2013-01-04 16:03 1130在定义又表示必须要带 ... -
oracle 的 CONNECT BY 和START WITH
2013-01-04 15:00 1402在SELECT命令中使用CONNECT BY 和START W ... -
树-Oracle用Start with...Connect By子句递归查询
2013-01-04 14:59 1074Start with...Connect By子句递归查询一般 ... -
java.sql.SQLException: ORA-01436: 用户数据中的 CONNECT BY 循环
2013-01-04 14:55 2451SELECT r1.region_id,parent_id ... -
Oracle创建删除用户、角色、表空间、导入导出、...命令总结
2013-01-03 16:24 1314//创建临时表空间 create temporary ta ... -
ResultSet.getMetaData() 的使用
2012-08-12 11:22 2167java.sql.ResultSet.getMetaData( ... -
ORACLE中如何查找特定对象中的文本内容~
2012-04-30 19:37 1290[c-sharp] view plaincopy SQL> ... -
Oracle 下读取表/字段的备注信息
2012-04-30 19:19 1235Oracle 通过COMMENT ON TABLE / C ... -
nls_sort和nlssort 排序功能介绍
2012-04-23 23:20 11208ALTER SESSION SET NLS_SORT=''; ... -
Oracle 递归查询 树查询 start with connect by prior
2012-02-28 09:52 1146网页地址: http://www.iteye.com/topi ... -
java中oracle特殊字符的查询
2011-10-18 14:38 2429escape:指定某字符为特殊字符: 例如指定‘\’ 为特殊字 ... -
Oracle中的 单引号 和 双引号
2011-10-18 09:17 1326双引号的作用是:假如建立对象的时候,对象名、字段名加双引号,则 ... -
pl/sql case or decode
2011-10-16 00:19 1142SELECT CASE 3 WHEN 1 THEN ... -
Oracle存储过程返回游标 [转载]
2012-04-22 22:09 4680有俩种方法: 一种是声明系统游标,一种是声明自定义游标,然后 ... -
oracle索引表函数(集合函数)(下表为字符串的索引表举例红色)(嵌套表/索引表/可变数组举例绿色)
2011-10-12 11:40 0一、EXISTS函数 1、检测 ... -
pl/sql 集合代码 的遍历方式
2011-10-12 10:22 1527-- Created on 2011-10-12 by HUC ... -
浅谈oracle复合数据类型
2012-04-22 22:10 1024--本文档可以直接拷贝运行。 /* oracle复合数 ...
相关推荐
对于内部异常,可以使用 OTHERS 异常处理器或 PRAGMA EXCEPTION_INIT 告诉编译器将异常名与 Oracle 错误码结合起来。对于用户自定义异常,只能在 PL/SQL 块中的声明部分声明异常。 在子程序中使用 EXCEPTION_INIT ...
下面通过几个具体的示例来进一步了解异常处理的使用方法: ##### 示例1:处理数据不存在的情况 ```sql set serveroutput on declare v_ename emp.ename%type; begin select ename into v_ename from emp where ...
使用`PRAGMA EXCEPTION_INIT`可以将自定义异常与特定的Oracle错误号关联。 6. 单条记录查询: 在PL/SQL中,可以使用SELECT ... INTO语句查询单条记录并直接赋值给变量。如果查询结果为空,会抛出NO_DATA_FOUND异常...
2. 使用 `PRAGMA EXCEPTION_INIT` 将异常与特定的 Oracle 错误号关联。 3. 在异常处理部分捕获并处理异常。 以下是一个使用非预定义异常处理 `ORA-02291`(违反完整性约束)的例子: ```sql DECLARE e_integrity ...
在PL/SQL中,可通过`PRAGMA EXCEPTION_INIT`初始化自定义异常,以及使用`RAISE_APPLICATION_ERROR`显式抛出异常。例如: ```plsql PRAGMA EXCEPTION_INIT(exception_name, error_number); RAISE_APPLICATION_ERROR...
本篇文章将深入探讨PDO的使用方法及其重要性。 首先,我们需要了解如何在PHP中安装和启用PDO扩展。通常,在Linux服务器上,可以通过`apt-get install php-pdo`或`yum install php-pdo`命令来安装。在Windows环境下...
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('...
同时,可以通过PRAGMA EXCEPTION_INIT自定义异常,将特定的Oracle错误号与自定义异常关联,这样在出现这些错误时,可以直接调用自定义的异常处理。 除了预定义异常,用户还可以创建自定义异常,这增强了程序的灵活...
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错误代码的,可以通过`PRAGMA EXCEPTION_INIT`指令将自定义异常与特定的Oracle错误号关联。用户定义的异常则是程序员根据需要在PL/SQL程序中声明的新异常,它们可以在需要的地方用`...
用户可以使用`EXCEPTION`声明创建自定义异常,并通过`PRAGMA EXCEPTION_INIT`初始化它们;系统异常则由Oracle系统引发,通常不可预测。 ### 3. 游标(Cursors) 游标是PL/SQL中处理记录集的重要工具,允许逐行访问...
PRAGMA EXCEPTION_INIT(e_userdefinedexception, -1401); BEGIN LOOP radius := radius + 1; BEGIN IF radius = 4 THEN RAISE e_userdefinedexception; -- 手动引发异常 ELSE area := pi * POWER(radius,...
4. **自定义异常**:在PL/SQL中,可以使用`PRAGMA EXCEPTION_INIT`预定义异常,并通过`RAISE_APPLICATION_ERROR`来抛出自定义错误。自定义错误号应处于`-20000`到`-20999`之间,同时可以传递错误信息。 5. **数值...
PRAGMA EXCEPTION_INIT(exception_name, error_number); RAISE_APPLICATION_ERROR(error_number, error_msg, true | false); ``` 其中`error_number`是从-20000到-20999的范围内的数字,而`error_msg`的最大长度为...
PRAGMA EXCEPTION_INIT(invalid_input, -20001); input_value NUMBER := -1; BEGIN IF input_value RAISE invalid_input; ELSE DBMS_OUTPUT.PUT_LINE('Valid Input'); END IF; EXCEPTION WHEN invalid_...
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('CANNOT QUERY ROWID FROM THIS ...
§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...