ORACLE PL/SQL异常处理(Exception)学习笔记
1、PL/SQL错误类型
错误类型
报告者
处理方法
编译时错误
PL/SQL编译器
交互式地处理:编译器报告错误,你必须更正这些错误
运行时错误
PL/SQL运行时引擎
程序化地处理:异常由异常处理子程序引发并进行捕获
2、异常的声明
有两种异常:用户自定义异常和预定义异常
用户自定义异常就是由程序员自己定义的一个错误。该错误还不是非常重要,所以并没有将整个错误包含在Oracle的错误中。例如,它可能是一个与数据有关的错误。而预定义异常则对应于一般的SQL和PL/SQL错误。
用户自定义异常是在PL/SQL块的声明部分声明的。像变量一样,异常也有一个类型(EXCEPTION)和有效范围。例如:
DECLARE
Exception_name EXCEPTION;
…
3、异常的引发
与异常相关联的错误发生的时候,就会引发相应的异常。用户自定义异常是通过RAISE语句显式引发的,而预定义异常则是在它们关联的ORACLE错误发生的时候隐式引发的。如果发生了一个还没有和异常进行关联的ORACLE错误的时候,也会引发一个异常。该异常可以使用OTHERS子程序进行捕获。预定义的异常也可以使用RAISE进行显式地引发,如果需要这样做的话。
…
RAISE exception_name;
…
4、异常的处理
发生异常的时候,程序的控制就会转移到代码块的异常处理部分。异常处理部分是由异常处理子程序组成的,这些异常处理子程序可以是针对某些异常的,也可以是针对所有异常的。与该异常相关联的错误发生,并引发了该异常的时候,就会执行异常处理部分的代码。
异常处理部分的语法如下:
EXCEPTION
WHEN exception_name THEN
Sequence_of_statements1;
WHEN exception_name THEN
Sequence_of_statements2;
[WHEN OTHERS THEN
Sequence_of_statements3;]
END;
每一个异常处理部分都是由WHEN子句和引发异常以后要执行的语句组成的。WHEN标识这个处理子程序是针对哪个异常的。
OTHERS异常处理子程序
PL/SQL定义了一个异常处理子程序,即OTHERS。当前异常处理部分定义的所有WHEN语句都没有处理的任意一个已引发的异常,都会导致执行这个OTHERS异常处理子程序。该异常处理子程序应该总是作为代码块的最后一个异常处理子程序,这样就会首先扫描前面的异常处理子程序。WHEN OTHERS会捕获所有异常,不管这些异常是预定义的,还
相关文档:
oracle表空间操作详解
1
2
3作者: 来源: 更新日期:2006-01-04
5
6
7建立表空间
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
oracle and sqlsever 常用数学函数对比
数学函数
1.绝对值
S:select abs(-1) value
O:select abs(-1) value from dual
2.取整(大)
S:select ceiling(-1.001) value
O:select ceil(-1.001) value from dual
3.取整(小)
S:select floor(-1.001) value ......
一个db类 类似于jdbc的驱动和链接配置
package com.assi;
import org.apache.log4j.jdbc.JDBCAppender;
public class DB extends JDBCAppender {
public DB(){
this.setDriver("oracle.jdbc.driver.OracleDriver");
& ......
This article shows how Oracle's Heterogeneous Services can be configured to allow a database to connect to a Microsoft Access database using standard databases links. The method described can be used to connect to MS-Access from about any platform - Unix/ Linux or Windows.
MS-Access 2003 and Orac ......