Oracle用戶自定義異常實(shí)現(xiàn)過程解析
注意:普通的查詢語句不會(huì)出現(xiàn)異常,只有使用into對變量進(jìn)行賦值的時(shí)候才會(huì)發(fā)生異常
--系統(tǒng)變量: notfound --> if sql%notfund then 如果這個(gè)表達(dá)式為真,則 (增刪改)出錯(cuò)
--,先自定義一個(gè)異常:no_result exception
-- if sql%nofund then
--excetpion
--when no_result then
--dbms……
用戶自定義異常寫在:declare里,如:
set serveroutput on declare no_result exception; --自定義異常 v_ssid student_test.sid%type;
begin
update student_test set sex='男' where sid=1000002; --沒有異常,報(bào)(自定義異常)插入為空的錯(cuò)誤
if SQL%NOTFOUND then
RAISE no_result;
end if;
exception
when no_result then
dbms_output.put_line('修改有誤!');
when dup_val_on_index then
dbms_output.put_line('系統(tǒng)異常,違反主鍵約束');
end;
如果修改語句修改為空,系統(tǒng)不會(huì)報(bào)錯(cuò),但會(huì)直接進(jìn)入用戶自己定義的no_result異常里,
if SQL%NOTFOUND then RAISE no_result; end if;
SQL%NOTFOUND是檢查更新語句是否更新成功,如果更新失敗,則notfound語句為真,
則使用raise語句跳轉(zhuǎn)到no_result異常執(zhí)行。
(dup_val_on_index)異常是系統(tǒng)異常,如果使用插入語句并且違反主鍵唯一性約束,則執(zhí)行dup_val_on_index異常。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Oracle?19c數(shù)據(jù)庫卸載重裝步驟教程
許多的行業(yè)已經(jīng)開始使用分布式數(shù)據(jù)庫的方式來解決數(shù)據(jù)存儲(chǔ)和管理的問題,而Oracle關(guān)系型數(shù)據(jù)庫仍擁有數(shù)據(jù)庫領(lǐng)域領(lǐng)先的技術(shù),這篇文章主要給大家介紹了關(guān)于Oracle?19c數(shù)據(jù)庫卸載重裝步驟的相關(guān)資料,需要的朋友可以參考下2024-05-05
oracle sql語言模糊查詢--通配符like的使用教程詳解
這篇文章主要介紹了oracle sql語言模糊查詢--通配符like的使用教程詳解,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧2018-04-04
oracle ORA-01114、ORA-27067錯(cuò)誤解決方法
本文章總結(jié)了關(guān)于ORA-01114、ORA-27067錯(cuò)誤解決方法,有需要學(xué)習(xí)的朋友可參考一下下哦2012-10-10
Windows系統(tǒng)下Oracle數(shù)據(jù)庫每天自動(dòng)備份
linux和unix下面使用shell可以很方便實(shí)現(xiàn),如果windows環(huán)境下可以結(jié)合計(jì)劃任務(wù)實(shí)現(xiàn)自動(dòng)備份,下面通過本文給大家介紹實(shí)現(xiàn)方法,需要的朋友參考下吧2016-12-12
在Linux系統(tǒng)上同時(shí)監(jiān)控多個(gè)Oracle數(shù)據(jù)庫表空間的方法
這篇文章主要介紹了在Linux系統(tǒng)上同時(shí)監(jiān)控多個(gè)Oracle數(shù)據(jù)庫表空間的方法,文中給出了shell腳本以及統(tǒng)計(jì)數(shù)據(jù)的錄入寫法,需要的朋友可以參考下2016-01-01
部署Oracle 12c企業(yè)版數(shù)據(jù)庫( 安裝及使用)
這篇文章主要介紹了部署Oracle 12c企業(yè)版數(shù)據(jù)庫( 安裝及使用),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11

