成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁(yè) > 知識(shí)庫(kù) > Oracle例外用法實(shí)例詳解

Oracle例外用法實(shí)例詳解

熱門標(biāo)簽:哪個(gè)400外呼系統(tǒng)好 山東crm外呼系統(tǒng)軟件 慧營(yíng)銷crm外呼系統(tǒng)丹丹 哈爾濱電話機(jī)器人銷售招聘 圖吧網(wǎng)站地圖標(biāo)注 愛(ài)客外呼系統(tǒng)怎么樣 百度地圖標(biāo)注途經(jīng)點(diǎn) 地圖標(biāo)注養(yǎng)老院 開(kāi)發(fā)外呼系統(tǒng)

本文實(shí)例講述了Oracle例外用法。分享給大家供大家參考,具體如下:

一、例外分類

oracle將例外分為預(yù)定義例外、非預(yù)定義例外和自定義例外三種。

1)、預(yù)定義例外用于處理常見(jiàn)的oracle錯(cuò)誤。

2)、非預(yù)定義例外用于處理預(yù)定義例外不能處理的例外。

3)、自定義例外用于處理與oracle錯(cuò)誤無(wú)關(guān)的其它情況。

下面通過(guò)一個(gè)小案例演示如果不處理例外看會(huì)出現(xiàn)什么情況?

編寫一個(gè)存儲(chǔ)過(guò)程,可接收雇員的編號(hào),并顯示該雇員的姓名。

sql代碼如下:

SET SERVEROUTPUT ON;
DECLARE
 V_ENAME EMP.ENAME%TYPE;
BEGIN
 SELECT ENAME INTO V_ENAME FROM EMP WHERE EMPNO = GNO;
 DBMS_OUTPUT.PUT_LINE('名字:' || V_ENAME);
END;
/

隨便輸入不存在的編號(hào),回車,會(huì)拋出如下異常:

ORA-01403: 未找到數(shù)據(jù)
ORA-06512: 在line 6

例外捕獲的sql代碼如下:

SET SERVEROUTPUT ON;
DECLARE
 V_ENAME EMP.ENAME%TYPE;
BEGIN
 SELECT ENAME INTO V_ENAME FROM EMP WHERE EMPNO = GNO;
 DBMS_OUTPUT.PUT_LINE('名字:' || V_ENAME);
EXCEPTION
 WHEN no_data_found THEN
  DBMS_OUTPUT.PUT_LINE('編號(hào)未找到!');
END;
/

隨便輸入不存在的編號(hào),回車,會(huì)友情提示:編號(hào)未找到!

二、處理預(yù)定義例外

預(yù)定義例外是由pl/sql所提供的系統(tǒng)例外。當(dāng)pl/sql應(yīng)用程序違反了oracle規(guī)定的限制時(shí),則會(huì)隱含的觸發(fā)一個(gè)內(nèi)部例外。pl/sql為開(kāi)發(fā)人員提供了二十多個(gè)預(yù)定義例外。我們給大家介紹常用的例外。

1)、case_not_found預(yù)定義例外

在開(kāi)發(fā)pl/sql塊中編寫case語(yǔ)句時(shí),如果在when子句中沒(méi)有包含必須的條件分支,就會(huì)觸發(fā)case_not_found例外:

SET SERVEROUTPUT ON;
CREATE OR REPLACE PROCEDURE SP_PRO6(SPNO NUMBER) IS
 V_SAL EMP.SAL%TYPE;
BEGIN
 SELECT SAL INTO V_SAL FROM EMP WHERE EMPNO = SPNO;
 CASE
  WHEN V_SAL  1000 THEN
   UPDATE EMP SET SAL = SAL + 100 WHERE EMPNO = SPNO;
  WHEN V_SAL  2000 THEN
   UPDATE EMP SET SAL = SAL + 200 WHERE EMPNO = SPNO;
 END CASE;
EXCEPTION
 WHEN CASE_NOT_FOUND THEN
  DBMS_OUTPUT.PUT_LINE('case語(yǔ)句沒(méi)有與' || V_SAL || '相匹配的條件');
END;
/
--調(diào)用存儲(chǔ)過(guò)程
SQL> EXEC SP_PRO6(7369);

case語(yǔ)句沒(méi)有與4444相匹配的條件

2)、cursor_already_open預(yù)定義例外

當(dāng)重新打開(kāi)已經(jīng)打開(kāi)的游標(biāo)時(shí),會(huì)隱含的觸發(fā)cursor_already_open例外

DECLARE
 CURSOR EMP_CURSOR IS
  SELECT ENAME, SAL FROM EMP;
BEGIN
 OPEN EMP_CURSOR; --聲明時(shí)游標(biāo)已打開(kāi),所以沒(méi)必要再次打開(kāi)
 FOR EMP_RECORD1 IN EMP_CURSOR LOOP
  DBMS_OUTPUT.PUT_LINE(EMP_RECORD1.ENAME);
 END LOOP;
EXCEPTION
 WHEN CURSOR_ALREADY_OPEN THEN
  DBMS_OUTPUT.PUT_LINE('游標(biāo)已經(jīng)打開(kāi)');
END;
/

3)、dup_val_on_index預(yù)定義例外

在唯一索引所對(duì)應(yīng)的列上插入重復(fù)的值時(shí),會(huì)隱含的觸發(fā)例外

BEGIN
 INSERT INTO DEPT VALUES (10, '公關(guān)部', '北京');
EXCEPTION
 WHEN DUP_VAL_ON_INDEX THEN
  DBMS_OUTPUT.PUT_LINE('在deptno列上不能出現(xiàn)重復(fù)值');
END;
/

4)、invalid_cursorn預(yù)定義例外

當(dāng)試圖在不合法的游標(biāo)上執(zhí)行操作時(shí),會(huì)觸發(fā)該例外

例如:試圖從沒(méi)有打開(kāi)的游標(biāo)提取數(shù)據(jù),或是關(guān)閉沒(méi)有打開(kāi)的游標(biāo)。則會(huì)觸發(fā)該例外

DECLARE
 CURSOR EMP_CURSOR IS
  SELECT ENAME, SAL FROM EMP;
 EMP_RECORD EMP_CURSOR%ROWTYPE;
BEGIN
 --open emp_cursor; --打開(kāi)游標(biāo)
 FETCH EMP_CURSOR INTO EMP_RECORD;
 DBMS_OUTPUT.PUT_LINE(EMP_RECORD.ENAME);
 CLOSE EMP_CURSOR;
EXCEPTION
 WHEN INVALID_CURSOR THEN
  DBMS_OUTPUT.PUT_LINE('請(qǐng)檢測(cè)游標(biāo)是否打開(kāi)');
END;
/

5)、invalid_number預(yù)定義例外

當(dāng)輸入的數(shù)據(jù)有誤時(shí),會(huì)觸發(fā)該例外

比如:數(shù)字100寫成了loo就會(huì)觸發(fā)該例外

SET SERVEROUTPUT ON;
BEGIN
 UPDATE EMP SET SAL = SAL + 'AAA';
EXCEPTION
 WHEN INVALID_NUMBER THEN
  DBMS_OUTPUT.PUT_LINE('輸入的數(shù)字不正確');
END;
/

6)、no_data_found預(yù)定義例外

下面是一個(gè)pl/sql 塊,當(dāng)執(zhí)行select into沒(méi)有返回行,就會(huì)觸發(fā)該例外

SET serveroutput ON;
DECLARE
 V_SAL EMP.SAL%TYPE;
BEGIN
 SELECT SAL INTO V_SAL FROM EMP WHERE ENAME = 'ljq';
EXCEPTION
 WHEN NO_DATA_FOUND THEN
  DBMS_OUTPUT.PUT_LINE('不存在該員工');
END;
/

7)、too_many_rows預(yù)定義例外

當(dāng)執(zhí)行select into語(yǔ)句時(shí),如果返回超過(guò)了一行,則會(huì)觸發(fā)該例外。

DECLARE
 V_ENAME EMP.ENAME%TYPE;
BEGIN
 SELECT ENAME INTO V_ENAME FROM EMP;
EXCEPTION
 WHEN TOO_MANY_ROWS THEN
  DBMS_OUTPUT.PUT_LINE('返回了多行');
END;
/

8)、zero_divide預(yù)定義例外

當(dāng)執(zhí)行2/0語(yǔ)句時(shí),則會(huì)觸發(fā)該例外

9)、value_error預(yù)定義例外

當(dāng)在執(zhí)行賦值操作時(shí),如果變量的長(zhǎng)度不足以容納實(shí)際數(shù)據(jù),則會(huì)觸發(fā)該例外value_error

其它預(yù)定義例外(這些例外不是在pl/sql里觸發(fā)的,而是在用oracle時(shí)觸發(fā)的,所以取名叫其它預(yù)定義例外)

1、login_denied

當(dāng)用戶非法登錄時(shí),會(huì)觸發(fā)該例外

2、not_logged_on

如果用戶沒(méi)有登錄就執(zhí)行dml操作,就會(huì)觸發(fā)該例外

3、storage_error

如果超過(guò)了內(nèi)存空間或是內(nèi)存被損壞,就觸發(fā)該例外

4、timeout_on_resource

如果oracle在等待資源時(shí),出現(xiàn)了超時(shí)就觸發(fā)該例外

三、非預(yù)定義例外

非預(yù)定義例外用于處理與預(yù)定義例外無(wú)關(guān)的oracle錯(cuò)誤。使用預(yù)定義例外只能處理21個(gè)oracle 錯(cuò)誤,而當(dāng)使用pl/sql開(kāi)發(fā)應(yīng)用程序時(shí),可能會(huì)遇到其它的一些oracle錯(cuò)誤。比如在pl/sql塊中執(zhí)行dml語(yǔ)句時(shí),違反了約束規(guī)定等等。在這樣的情況下,也可以處理oracle的各種例外,因?yàn)榉穷A(yù)定義例外用的不多,這里我就不舉例了。

四、處理自定義例外

預(yù)定義例外和自定義例外都是與oracle錯(cuò)誤相關(guān)的,并且出現(xiàn)的oracle 錯(cuò)誤會(huì)隱含的觸發(fā)相應(yīng)的例外;而自定義例外與oracle 錯(cuò)誤沒(méi)有任何關(guān)聯(lián),它是由開(kāi)發(fā)人員為特定情況所定義的例外.

問(wèn)題:請(qǐng)編寫一個(gè)pl/sql 塊,接收一個(gè)雇員的編號(hào),并給該雇員工資增加1000元,如果該雇員不存在,請(qǐng)?zhí)崾尽?/p>

CREATE OR REPLACE PROCEDURE EX_TEST(SPNO NUMBER) IS
BEGIN
 UPDATE EMP SET SAL = SAL + 1000 WHERE EMPNO = SPNO;
END;
/
--調(diào)用存儲(chǔ)過(guò)程,
EXEC EX_TEST(56);

這里,編號(hào)為56 是不存在的,剛才的報(bào)異常了,為什么現(xiàn)在不報(bào)異常呢?
因?yàn)閯偛诺氖莝elect語(yǔ)句

怎么解決這個(gè)問(wèn)題呢? 修改代碼,如下:

--自定義例外
CREATE OR REPLACE PROCEDURE EX_TEST(SPNO NUMBER) IS
--定義一個(gè)例外
MYEX EXCEPTION;
BEGIN
--更新用戶sal
UPDATE EMP SET SAL = SAL + 1000 WHERE EMPNO = SPNO;
--sql%notfound 這是表示沒(méi)有update
--raise myex;觸發(fā)myex
IF SQL%NOTFOUND THEN RAISE MYEX;
END IF;
EXCEPTION
WHEN MYEX THEN DBMS_OUTPUT.PUT_LINE('沒(méi)有更新任何用戶');
END;
/

現(xiàn)在再測(cè)試一次:

SQL> exec ex_test(56);

沒(méi)有更新任何用戶

希望本文所述對(duì)大家Oracle數(shù)據(jù)庫(kù)程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:
  • Oracle觸發(fā)器用法實(shí)例詳解
  • Oracle自動(dòng)備份腳本
  • Oracle自動(dòng)備份及自動(dòng)備份步驟
  • Oracle創(chuàng)建Database Link的兩種方式詳解
  • oracle中變長(zhǎng)數(shù)組varray,嵌套表,集合使用方法
  • oracle RETURNING 子句使用方法
  • Oracle數(shù)據(jù)庫(kù)中建立索引的基本方法講解
  • Oracle數(shù)據(jù)庫(kù)中外鍵的相關(guān)操作整理

標(biāo)簽:承德 開(kāi)封 青島 甘肅 固原 周口 和田 武漢

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Oracle例外用法實(shí)例詳解》,本文關(guān)鍵詞  Oracle,例外,用法,實(shí)例,詳解,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Oracle例外用法實(shí)例詳解》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Oracle例外用法實(shí)例詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    热久久视久久精品18亚洲精品| 国产男女无套在线播放| 日韩一区二区三区视频在线| 伊人天天综合| 国模无码一区二区三区| 性金发美女69hd大尺寸| 久热成人在线视频| 欧美成人在线免费视频| 一区二区欧美国产| 三级精品视频久久久久| 国产一精品一av一免费爽爽| 欧美区高清在线| 一个人在线观看免费视频www| 国产精品第七十二页| 国产成人综合在线| 亚洲精品五月天| 一级做a爰片久久| av永久不卡| 欧美精品一区二区久久婷婷| 日本一区午夜艳熟免费| 成人国产精品免费| a级一a一级在线观看| 日韩精品伦理第一区| 黄色网页免费看| 91久热免费在线视频| 国精产品乱码一区一区三区四区| 风间由美中文字幕在线看视频国产欧美| 国产精品夫妻激情| 欧美激情二区三区| 精品无码国模私拍视频| 操女生的网站| 欧美高清在线观看| 国产不卡一区二区在线播放| 日韩在线影院| 国产视频一区二区视频| 国产成人免费观看网站| 91黄色免费看| 精品少妇人欧美激情在线观看| 国产香蕉精品视频| japanese23hdxxxx日韩| 美女爆乳18禁www久久久久久| 欧美精品日韩| 成人线上视频| 欧美aa在线观看| 欧美高清一区| 日本三级福利片| 免费观看亚洲| 久久99久久久欧美国产| 欧美特黄aaa| 在线观看免费视频污| 在线观看日韩精品视频| 91精品国产乱码久久久久久蜜臀| 亚洲小视频网站| 国产精品中文字幕久久久| 欧美性猛交视频| 国产freexxxx性播放麻豆| 好吊色视频一区二区| 亚洲一区二区影院| 91久久在线观看| 欧美激情三级免费| 国产精品久久久免费视频| 成人性生交大片免费看视频r| 97视频资源在线观看| 亚洲色成人www永久在线观看| 成人免费av资源| 国内精品久久久久伊人av| 国产喷水在线观看| 欧美巨大另类极品videosbest| 夜夜亚洲天天久久| 超碰在线cao| 欧美性三三影院| 中文字幕一区二区人妻在线不卡| 亚洲色图美国十次| 国产极品粉嫩福利姬萌白酱| 欧美大片在线播放| 自拍偷拍欧美日韩| 性一交一乱一乱一视频| 在线播放你懂的| 欧美精品电影在线| 可以在线看的av网站| 亚洲男人的天堂在线观看| 野外做受又硬又粗又大视频√| 日韩av大片免费看| 日韩欧美不卡一区| 亚洲精品乱码久久久久久久| 美女精品自拍一二三四| 成人影院在线观看| 91极品视频在线观看| 国产精品美女久久久久av爽| 久久夜夜操妹子| 久草在线免费资源站| 日韩欧美国产免费播放| 欧美成人精品免费| 久久国产精品免费看| 久久不卡免费视频| 成人小视频免费观看| 日韩欧美一区二区久久婷婷| 欧美牲交a欧美牲交aⅴ免费真| 1区1区3区4区产品乱码芒果精品| 国产在线精品一区免费香蕉| www.精品av.com| 国产亚洲精品久久久| 4444免费观看| 91久久精品国产91性色69| 中文字幕视频在线播放| 欧美国产先锋| 欧美日韩国产综合视频在线观看| 亚洲欧美在线磁力| 美女视频免费精品| 99热成人精品热久久66| 99久久精品国产毛片| 久久99久久99小草精品免视看| 人人做人人爽人人爱| 一本一本久久a久久| 色婷婷久久一区二区三区麻豆| 亚洲日本中文字幕免费在线不卡| 六十路息与子猛烈交尾| 91精品国产品国语在线不卡| 国产又黄又嫩又滑又白| 九色网友自拍视频手机在线| 国产又黄又大又爽| 91免费版视频| 一本大道久久a久久精品| 欧美日韩久久| 日韩免费福利电影在线观看| 亚洲免费av观看| 久久资源亚洲| 激情小视频在线观看| 国产视频一区二| 天堂av免费观看| 国产精品免费视频一区| 水蜜桃精品av一区二区| 色偷偷久久一区二区三区| 国产午夜亚洲精品理论片色戒| 国产精品一区二区久久不卡| 日韩在线免费av| 久久久久99精品成人片我成大片| 日韩视频网站在线观看| 亚洲成人日韩在线| 在线日韩av| 免费又黄又爽又猛大片午夜| 一色桃子在线| 91九色丨porny丨国产jk| 中文官网资源新版中文第二页在线观看| 国产日韩av在线| 久操视频在线| 国产视频亚洲色图| 欧美在线免费一级片| 波多野结衣乳巨码无在线观看| 亚洲免费成人av在线| 天天综合视频在线观看| 国产午夜精品一区二区三区欧美| 正在播放亚洲一区| 尤物影院在线播放| www.亚洲免费| 91在线视频网址| 欧美日韩一区二区在线播放| 中国女人内谢69xxx视频| 日韩一级片在线播放| 精品影片在线观看的网站| 男人女人靠逼视频| 国产成人一区二区在线观看| 国产精品23p| 91麻豆国产福利精品| 国产资源在线观看| av电影在线观看不卡| 污污网站在线观看| 香蕉视频黄在线观看| 国产偷自视频区视频一区二区| 国产亚洲色婷婷久久99精品| 久久精品国产网站| 久久久久一区二区三区四区| 在线免费观看av网站| 国产一区视频观看| 日韩经典一区二区三区| 天堂精品在线视频| 亚洲**毛片| 亚洲精品成人网| 亚洲欧美激情一区| 国产精品视频一区二区三区不卡| 少妇毛片一区二区三区| 欧美精品与人动性物交免费看| 成人精品一二三区| 亚洲欧洲免费视频| 日韩中文一区二区| 国产综合色精品一区二区三区| 久久久久久久麻豆| 成人性生交大片免费看视频直播| 亚洲欧美色图片| 中文字幕乱码亚洲无线精品一区| 日韩在线视频一区二区三区| 三级全黄视频| 国产精品高清亚洲| 99国产精品久久久久99打野战| 不卡视频在线播放| 久久亚洲欧美国产精品乐播| 欧美日韩三级在线| 欲香欲色天天天综合和网| 日韩三级视频在线播放| www.91视频.com| 影音先锋制服丝袜| 狠狠躁天天躁日日躁欧美| 成人免费视频免费观看| 欧美高清日韩| 色哟哟一区二区三区| 男人打飞机网站| 黄色性生活一级片| 欧美激情亚洲天堂| 精人妻一区二区三区| 日韩欧美国产精品一区| 牛牛电影国产一区二区| 欧美日韩裸体免费视频| 国产一区在线播放| 91九色porn蝌蚪| 爱久久·www| 97色成人综合网站| www日本高清| 91欧美激情另类亚洲| 亚洲三级在线免费| 欧美在线亚洲在线| 无码人妻精品一区二区三区9厂| 国产成人福利| 亚洲综合网在线观看| 91麻豆成人精品国产免费网站| 免费在线黄色片| 日本色图欧美色图| 欧美丝袜美女中出在线| 8x海外华人永久免费日韩内陆视频| 日韩人妻一区二区三区| 麻豆国产一区| 日本在线不卡视频| 亚洲免费视频一区| 日韩精品久久理论片| 一本一本久久a久久精品综合麻豆| 人妻激情另类乱人伦人妻| 清纯唯美一区二区三区| 麻豆精品蜜桃| 日韩欧美电影一二三| 欧美日韩精品中文字幕一区二区| 高清中文字幕在线| 茄子视频成人在线| 97精品免费视频| 国产视频久久久| 91激情在线| 日本不卡免费高清视频在线| 曰批又黄又爽免费视频| 亚洲伊人第一页| 欧美xxx在线观看| 亚洲国产日韩欧美| 天天激情综合| 亚洲天堂男人天堂| 久草免费在线观看视频| 国产精品zjzjzj在线观看| 亚洲人成欧美中文字幕| 亚洲一级黄色片| 欧美国产亚洲一区| 九九热国产在线| 欧美精品一二区| 午夜精品福利在线| 色影视在线视频资源站| 国产对白叫床清晰在线播放| 9色视频在线观看| 日韩大尺度在线观看| heyzo视频在线播放| 色哟哟精品丝袜一区二区| 亚洲综合男人的天堂| 国产在线高清理伦片a| 日韩美女在线| 亚洲黄色天堂| 狂野欧美性猛交xxxx乱大交| 欧美性生交xxxxx| 男女爱爱网站| 丁香婷婷综合网| 丰满少妇一区| 成人av免费电影| 久久黄色影视| 久久久美女艺术照精彩视频福利播放| 极品美妇后花庭翘臀娇吟小说| 欧美6一10sex性hd| 狠狠色综合欧美激情| 免费看a在线观看| 成年人看的毛片| 国产一区二区三区四区三区四| 野外做受又硬又粗又大视频√| 亚洲高清免费观看高清完整版| 久久躁狠狠躁夜夜爽| 中文字幕免费视频观看| 五月天激情四射| 羞羞视频在线免费国产| 欧美精品v国产精品v日韩精品| www.成人精品免费网站青椒| 理论片鲁丝二区爱情网| 久久九九热re6这里有精品| 51国偷自产一区二区三区的来源| 国产精品流白浆在线观看| 日日噜噜夜夜狠狠久久波多野| 国产精品区一区二| 亚洲色图一二三区| 国产免费一区二区三区网站免费| 亚洲午夜电影在线| 亚洲午夜在线观看视频在线| 美女伦理水蜜桃4| 人妻一区二区三区四区| 日本二三区不卡| 一二三四区在线观看| 米奇777在线影院线| 国产欧美日韩另类| 久久久综合香蕉尹人综合网| 欧美日韩电影一区二区三区| 亚洲性视频网站| 亚洲va韩国va欧美va| 国产成人精品免高潮在线观看| 久久精品最新地址| 69欧美性猛交| 91在线丨porny丨国产| 久久精品久久久| 日韩精品久久久久久免费| 亚州欧美日韩中文视频| 久久婷婷蜜乳一本欲蜜臀| 国产精品88久久久久久| 欧美日韩伦理一区二区| 亚洲乱码电影| 日韩mv欧美mv国产网站| 不卡电影免费在线播放一区| 中文乱码免费一区二区三区下载| 在线免费中文字幕| 精品毛片网大全| 久久久av水蜜桃|