Oracle用戶自定義異常實(shí)現(xiàn)過程解析
注意:普通的查詢語句不會(huì)出現(xiàn)異常,只有使用into對(duì)變量進(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)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Oracle數(shù)據(jù)庫實(shí)現(xiàn)主鍵字段自增的常用方法
在 Oracle 數(shù)據(jù)庫中,實(shí)現(xiàn)主鍵字段的自增功能對(duì)于確保數(shù)據(jù)的唯一性和簡化數(shù)據(jù)插入操作非常重要,本文將介紹如何在 Oracle 數(shù)據(jù)庫中實(shí)現(xiàn)主鍵字段的自增,提供幾種常見的方法供參考2023-10-10Oracle生成單據(jù)編號(hào)存儲(chǔ)過程的實(shí)例代碼
Oracle生成單據(jù)編號(hào)存儲(chǔ)過程,在做訂單類似的系統(tǒng)都可能會(huì)存在訂單編號(hào)不重復(fù),或是流水號(hào)按日,按年,按月進(jìn)行重新編號(hào)。下面給大家分享oracle生成單據(jù)編號(hào)存儲(chǔ)過程,需要的的朋友參考下吧2017-04-04Oracle中的半聯(lián)結(jié)和反聯(lián)結(jié)詳解
這篇文章主要介紹了Oracle中的半聯(lián)結(jié)和反聯(lián)結(jié)詳解,也稱半連接和反連接,其實(shí)就是in、exists,需要的朋友可以參考下2014-07-07oracle刪除數(shù)據(jù)但表空間占用率沒有減小的情況
這篇文章主要介紹了oracle刪除數(shù)據(jù)但表空間占用率沒有減小的情況,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02Oracle 分析函數(shù)RANK(),ROW_NUMBER(),LAG()等的使用方法
Oracle分析函數(shù)RANK(),ROW_NUMBER(),LAG()等的使用方法,需要的朋友可以參考下。2009-11-11關(guān)于SQL執(zhí)行計(jì)劃錯(cuò)誤導(dǎo)致臨時(shí)表空間不足的問題
故障現(xiàn)象:臨時(shí)表空間不足的問題已經(jīng)報(bào)錯(cuò)過3次,客戶也煩了,前兩次都是同事添加5G的數(shù)據(jù)文件,目前已經(jīng)達(dá)到40G,占用臨時(shí)表空間主要是distinct 和group by 以及Union all 表數(shù)據(jù)量在200W左右,也不至于把40G的臨時(shí)表空間撐爆。2013-04-04