例外名 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. NOI 97 (Vijos 1464)积木游戏(DP)

    很普通的DP,设dp[i][j][k]为第i块积木放在第j堆且摆放状态为k的最高高度.方程很容易推出. # include <cstdio> # include <cstring&g ...

  2. 【刷题】UOJ #34 多项式乘法

    这是一道模板题. 给你两个多项式,请输出乘起来后的多项式. 输入格式 第一行两个整数 \(n\) 和 \(m\) ,分别表示两个多项式的次数. 第二行 \(n+1\) 个整数,表示第一个多项式的 \( ...

  3. 【Codeforces Round #404 (Div. 2)】题解

    A. Anton and Polyhedrons 直接统计+答案就可以了. #include<cstdio> #include<cstring> #include<alg ...

  4. [学习笔记]分治FFT

    一般的分治FFT是指: https://www.luogu.org/problemnew/show/P4721 考虑后面的f和前面的f有关系,但是贡献可以分着计算,逐一累计上去. 考虑cdq分治.算出 ...

  5. PLAN OF HEOI(unfinished)

    Au:整体二分/计算几何/多项式/fwtAg:可持久化重量平衡树/线段树分治/线段树合并/最短路树/最短路DAGCu:三分Up:博弈论/置换群/杜教筛/矩阵树定理/BSGS/动态树分治/网络流(线性规 ...

  6. Android Json解析与总结

    一.JSON定义 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. 它基于JavaScript Progra ...

  7. Python图像处理库(PIL)

    官方:(详细)http://pillow.readthedocs.io/en/3.1.x/reference/ImageDraw.html http://pillow.readthedocs.io/e ...

  8. Codeforces Round #396 (Div. 2) A B C D 水 trick dp 并查集

    A. Mahmoud and Longest Uncommon Subsequence time limit per test 2 seconds memory limit per test 256 ...

  9. [codeforces/edu4]总结(F)

    链接:http://codeforces.com/contest/612/ A题: 枚举切多少个p,看剩下的能否整除q. B题: 从1到n模拟一下,累加移动的距离. C题: 先用括号匹配的思路看是否有 ...

  10. Sqlserver中如何创建链接服务器

    链接服务器在跨数据库/跨服务器查询时非常有用(比如分布式数据库系统中),我将以图文方式详细说明如何利用SQL Server Management Studio在图形界面下创建链接服务器 方法/步骤   ...