例外名 ORA-XXXXX SQLCODE
ACCESS_INTO_NULL ORA-06530 -6530
CASE_NOT_FOUND ORA-06592 -6592
COLLECTION_IS_NULL ORA-06531 -6531
CURSOR_ALREADY_OPEN ORA-06511 -6511
DUP_VAL_ON_INDEX ORA-00001 -1
INVALID_CURSOR ORA-01001 -1001
INVALID_NUMBER ORA-01722 -1722
LOGIN_DENIED ORA-01017 -1017
NO_DATA_FOUND ORA-01403 100
NO_DATA_NEEDED ORA-06548 -6548
NOT_LOGGED_ON ORA-01012 -1012
PROGRAM_ERROR ORA-06501 -6501
ROWTYPE_MISMATCH ORA-06504 -6504
SELF_IS_NULL ORA-30625 -30625
SUBSCRIPT_BEYOND_COUNT ORA-06533 -6533
SUBSCRIPT_OUTSIDE_LIMIT ORA-06532 -6532
SYS_INVALID_ROWID ORA-01410 -1410
STORAGE_ERROR ORA-06500 -6500
TIMEOUT_ON_RESOURCE ORA-00051 -51
TOO_MANY_ROWS ORA-01422 -1422
USERENV_COMMITSCN_ERROR ORA-1725 -1725
TRANSACTION_BACKED_OUT ORA-00061 -61
VALUE_ERROR ORA-06502 -6502
ZERO_DIVIDE ORA-01476 -1476
OTHERS - -
COLLECTION_IS_NULL
アトミック・ヌル のコレクションに対して操作を行なった場合
コンストラクタを呼び出してコレクションを初期化する。
CURSOR_ALREADY_OPEN
カーソルの二重オープン
DUP_VAL_ON_INDEX
一意性の制約違反 
⇒ ORA-00001: 一意制約に反しています
INVALID_CURSOR
オープンしていない カーソル に操作している、以下の IF 処理を参考に
IF cursor_name%ISOPEN THEN ~
INVALID_NUMBER
数値に変換できない。SELECT DECODE(num_date, 1, 'aaa') ~ などの数値項目に対して文字を変換すると発生したりする。(NVL 関数 でも同じ) 
⇒ ORA-01722: 数値が無効です。
LOGIN_DENIED
ログインの失敗(拒否)
NO_DATA_FOUND
すべてのレコードが既にフェッチ済、もしくは 該当するものがない。
NOT_LOGGED_ON
接続が切断された。(接続中の場合には、サーバーのアラートログやクライアントの SQLNET.LOG を参照)
PROGRAM_ERROR
Oracle サポート行き。
STORAGE_ERROR
メモリエラー Oracle サポート行き。
SUBSCRIPT_BEYOND_COUNT
コレクション型において添え字が要素数を超過部分にアクセスしている場合に発生。
SUBSCRIPT_BEYOND_COUNT
コレクション型において添え字が有効範囲外。
TIMEOUT_ON_RESOURCE
SELECT ~ FOR UPDATE NOWAIT のロック取得失敗に発生。
TOO_MANY_ROWS
単一レコードしか許されない部分で複数行処理戻されている。
SELECT ~ INTO ~に対して複数行戻す SQL になっている。
USERENV_COMMITSCN_ERROR
USERENV('COMMITSCN') を INSERT/UPDATE 以外で使用時に発生。
⇒ システム変更番号
TRANSACTION_BACKED_OUT
共有インスタンス の DML_ LOCKS 初期化パラメータの値がお互いに矛盾している。
VALUE_ERROR
数値のオーバーフローや NOT NULL 制約に違反している。
参考: ORA-06502: PL/SQL: 数値または値のエラー: 文字列バッファが小さすぎます
ZERO_DIVIDE
ゼロ除算
OTHERS
すべての例外をあらわす。
EXCEPTION
WHEN DUP_VAL_ON_INDEX THEN
---RAISE_APPLICATION_ERROR(-20000,'It is will not be repeated');
ROLLBACK;
WHEN others then
dbms_output.put_line('other error');

  

oracle判断是否执行成功
begin
insert into ...
-- rowcount 表示影响的行数,如果为0表示没有成功插入
if sql%rowcount > 0 then
commit;
else
rollback;
end if;
end; 热心网友

  

Oracle例外定义的更多相关文章

  1. 二十七、oracle 例外

    一.例外分类oracle将例外分为预定义例外.非预定义例外和自定义例外三种.1).预定义例外用于处理常见的oracle错误.2).非预定义例外用于处理预定义例外不能处理的例外.3).自定义例外用于处理 ...

  2. oracle 例外

    一.例外分类oracle将例外分为预定义例外.非预定义例外和自定义例外三种.1).预定义例外用于处理常见的oracle错误.2).非预定义例外用于处理预定义例外不能处理的例外.3).自定义例外用于处理 ...

  3. oracle数组定义与使用

    定义固定长度的一维数组 type type_array is varray(10) of varchar2(20); 1.varray(10)表示定义长度为10的数组 2.varchar2(20)表示 ...

  4. oracle 集合定义

    集合:是具有相同定义的元素的聚合.Oracle有两种类型的集合: 可变长数组(VARRAY):可以有任意数量的元素,但必须预先定义限制值. 嵌套表:视为表中之表,可以有任意数量的元素,不需要预先定义限 ...

  5. 转://Oracle中定义者权限和调用者权限案例分析

    定义者权限:定义者权限指使用它所有者的权限,而不是当前用户来执行过程.因此,你可以限制用户执行的数据库操作,允许他们仅通过运行定义者权限的过程和函数访问数据.创建过程.函数和程序包的默认权限是定义者权 ...

  6. 分享知识-快乐自己:Oracle中定义及使用同义词

    Oracle 同义词概念: Oracle的同义词(synonyms)从字面上理解就是别名的意思,和视图的功能类似,就是一种映射关系. 它可以节省大量的数据库空间,对不同用户的操作同一张表没有多少差别; ...

  7. Oracle中定义package以及存储过程的使用

    使用scott账户下的dept表: select * from dept order by deptno; 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 S ...

  8. ORACLE变量定义及使用(另,T-SQL EXISTS的PLSQL替代写法)

    1. 简单变量 declare v_cnt NUMBER(10,0) := 0; BEGIN   SELECT COUNT(1) INTO v_cnt FROM concept.Decoction W ...

  9. Oracle 关于定义约束 / 修改表结构 /修改约束

    ---约束分5种:主键 外键 唯一 非空 检查5类约束 Oracle中分列级别约束 与 表级别约束 列级别约束:在创建表时再列上面加约束 例如: create table table11( stuno ...

随机推荐

  1. [转]matlab中squeeze函数的用法,numel的用法

    squeeze的作用是移除单一维. 如果矩阵哪一个维数是1,B=squeeze(A)就将这个维数移除. 考虑2-by-1-by-3 数组Y = rand(2,1,3). 这个数组有单一维 —就是每页仅 ...

  2. 客户端 new socket时候 就像服务端发起连接了

    客户端 new socket时候  就像服务端发起连接了

  3. 【bzoj3754】Tree之最小方差树 最小生成树

    题目描述 给出一张无向图,求它的一棵生成树,使得选出的所有边的方差最小.输出这个最小方差. 输入 第一行两个正整数N,M 接下来M行,每行三个正整数Ui,Vi,Ci N<=100,M<=2 ...

  4. 2017 ICPC beijing F - Secret Poems

    #1632 : Secret Poems 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 The Yongzheng Emperor (13 December 1678 – ...

  5. HDU - 6333 Harvest of Apples

    题意: T次询问,每次给出n,m.求sigma(k:0->m)C(n, k). 题解: 用离线莫队来做. 令S(n,m) = sigma(k:0->m)C(n, k). S(n+1, m) ...

  6. [JSOI2008]小店购物 & bzoj4349:最小树形图 最小树形图

    ---题面(洛谷)--- ---题面(bzoj)--- 其实是同一道题,,,样例都一模一样 题解: 一开始看想了好久,,,还想到了最短路和最小生成树,,然而写的时候才意识到最小生成树应该要用无向边 其 ...

  7. POJ3057:Evacuation——题解

    http://poj.org/problem?id=3057 题目大意: .为人,D为门,X为障碍,门每秒只能出去一个人,问多少秒出光. 如果无法出光输出impossible. ——————————— ...

  8. HDOJ(HDU).1035 Robot Motion (DFS)

    HDOJ(HDU).1035 Robot Motion [从零开始DFS(4)] 点我挑战题目 从零开始DFS HDOJ.1342 Lotto [从零开始DFS(0)] - DFS思想与框架/双重DF ...

  9. js空对象判断 isPlainObject

    //有缺陷,JSON.stringify(obj)中,如果obj本来是空的,又继承了一个非空的对象那么结果也会是“{}” 1. JSON.stringify(obj) == '{}' 2. Objec ...

  10. bzoj4822: [Cqoi2017]老C的任务(扫描线+BIT/线段树)

    裸题... 依旧是写了BIT和线段树两种(才不是写完线段树后才想起来可以写BIT呢 怎么卡常数都挺大...QAQ ccz和yy的写法好快哇%%% BIT: #include<iostream&g ...