Oracle Exception

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

          ? 2) 常用預(yù)定義例外
          ? EXCEPTION
          ??? WHEN CURSOR_ALREADY_OPEN THEN -- ORA-06511 SQLCODE = -6511 游標(biāo)已經(jīng)打開
          ????? ...
          ??? 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 沒有找到數(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 飛熊 閱讀(531) 評(píng)論(0)  編輯  收藏 所屬分類: ORACLE

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

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 本溪市| 平和县| 乌拉特中旗| 静乐县| 汾西县| 拉萨市| 莫力| 乌兰浩特市| 台山市| 宁南县| 孝义市| 双峰县| 舟曲县| 台东市| 沁水县| 彭州市| 益阳市| 双牌县| 内乡县| 漳州市| 七台河市| 突泉县| 丰台区| 永济市| 潼关县| 老河口市| 富锦市| 赤水市| 芜湖县| 龙泉市| 岳普湖县| 公安县| 深州市| 邹平县| 邯郸市| 桑植县| 壤塘县| 宁强县| 开鲁县| 满洲里市| 瑞金市|