Oracle Exception

          1) 基本結(jié)構(gòu)
          ? BEGIN
          ??? ... --語(yǔ)句
          ? EXCEPTION -- 例外處理
          ??? WHEN ...
          ??? ...
          ??? WHEN OTHERS
          ????? ...
          ? END;

          ? 2) 常用預(yù)定義例外
          ? EXCEPTION
          ??? WHEN CURSOR_ALREADY_OPEN THEN -- ORA-06511 SQLCODE = -6511 游標(biāo)已經(jīng)打開(kāi)
          ????? ...
          ??? WHEN DUP_VAL_ON_INDEX THEN -- ORA-00001 SQLCODE = -1 向唯一索引中插入重復(fù)數(shù)據(jù)
          ????? ...
          ??? WHEN INVALID_CURSOR THEN -- ORA-01001 SQLCODE = -1001 非法游標(biāo)操作
          ????? ...
          ??? WHEN INVALID_NUMBER THEN -- ORA-01722 SQLCODE = -1722 字符向數(shù)字轉(zhuǎn)換失敗
          ????? ...
          ??? WHEN LOGIN_DENIED THEN -- ORA-01017 SQLCODE = -1017
          ????? ...
          ??? WHEN NO_DATA_FOUND THEN -- ORA-01403 SQLCODE = +100 沒(méi)有找到數(shù)據(jù)
          ????? ...
          ??? WHEN NOT_LOGGED_ON THEN -- ORA-01012 SQLCODE = -1012
          ????? ...
          ??? WHEN PROGRAM_ERROR THEN -- ORA-06501 SQLCODE = -6501 程序錯(cuò)誤
          ????? ...
          ??? WHEN STORAGE_ERROR THEN -- ORA-06500 SQLCODE = -6500
          ????? ...
          ??? WHEN TIMEOUT_ON_RESOURCE THEN -- ORA-00051 SQLCODE = -51
          ????? ...
          ??? WHEN TOO_MANY_ROWS THEN -- ORA-01422 SQLCODE = -1422 返回多行
          ????? ...
          ??? WHEN TRANSACTION_BACKED_OUT THEN -- ORA-00061 SQLCODE = -61
          ????? ...
          ??? WHEN VALUE_ERROR THEN -- ORA-06502 SQLCODE = -6502 數(shù)值轉(zhuǎn)換錯(cuò)誤
          ????? ...
          ??? WHEN ZERO_DIVIDE THEN -- ORA-01476 SQLCODE = -1476 被零除
          ????? ...
          ??? WHEN OTHERS THEN -- 其它任何錯(cuò)誤的處理
          ????? ...
          ? END;

          ? 3) 用戶定義的例外
          ? DECLARE
          ??? FIND_DATA_EMP????EXCEPTION;
          ? BEGIN
          ??? IF ... THEN
          ????? RAISE FIND_DATA_EMP;
          ??? END IF;
          ? EXCEPTION
          ??? WHEN LOB_NO_LOCKED THEN
          ????? ...
          ? END;
          ? 4) EXCEPTION_INIT的使用
          ? PRAGMA EXCEPTION_INIT(例外名, ORACLE錯(cuò)誤號(hào));
          ? 注:PRAGMA 是一個(gè)編譯器命令,可以認(rèn)為是對(duì)編譯器的一個(gè)注釋。
          ? 例:
          ? DECLARE
          ??? ZERO_DIVIDE1????EXCEPTION;
          ??? PRAGMA EXCEPTION_INIT(ZERO_DIVIDE1, -1476);
          ? BEGIN
          ??? ...
          ? EXCEPTION
          ??? WHEN ZERO_DIVIDE1 THEN
          ????? ...
          ? END;

          posted on 2010-08-03 11:32 飛熊 閱讀(524) 評(píng)論(0)  編輯  收藏 所屬分類: ORACLE

          <2010年8月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 遂溪县| 濮阳县| 崇州市| 安多县| 综艺| 浦北县| 恩平市| 扎赉特旗| 南宁市| 鸡东县| 福清市| 罗平县| 深州市| 延寿县| 江门市| 封开县| 双峰县| 湖南省| 南华县| 类乌齐县| 兴义市| 龙州县| 乐陵市| 济南市| 南涧| 博爱县| 泗阳县| 成都市| 锡林浩特市| 樟树市| 黄陵县| 德兴市| 库车县| 临桂县| 海晏县| 河津市| 义马市| 武宣县| 沙河市| 邢台市| 新绛县|