--這個(gè)是判斷一個(gè)字符串是否為日期型的,如果異常就返回值0

10年積累的成都網(wǎng)站制作、成都網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有攀枝花免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
CREATE
OR
REPLACE
FUNCTION
is_date(parameter
VARCHAR2)
RETURN
NUMBER
IS
val
DATE;
BEGIN
val
:=
TO_DATE(NVL(parameter,
'a'),
'yyyy-mm-dd
hh24:mi:ss');
RETURN
1;
EXCEPTION
WHEN
OTHERS
THEN
RETURN
0;
END;
今天在項(xiàng)目中遇到一個(gè)比較棘手的問(wèn)題,需要用到觸發(fā)器。在編寫觸發(fā)器和調(diào)試過(guò)程中遇到下列問(wèn)題,在此記錄一下:
由于之前寫的觸發(fā)器都能正常運(yùn)行,就沒(méi)有涉及到觸發(fā)器的調(diào)試,今天發(fā)現(xiàn)觸發(fā)器沒(méi)起作用,需要調(diào)試,竟不知道在哪兒調(diào)試。在網(wǎng)上借鑒一些別人的經(jīng)驗(yàn)(),記錄一下。在PL/SQL中,觸發(fā)器的調(diào)試方法如下:
1,選中要調(diào)試的觸發(fā)器,右擊,然后勾選 Add debug information,只有勾選這個(gè)按鈕后,調(diào)試才能進(jìn)入到斷點(diǎn)。
2,選中觸發(fā)器,點(diǎn)擊 Edit,到Edit 界面,在要調(diào)試的行號(hào)前面單擊,或者右鍵,添加斷點(diǎn)。
3,在菜單的新建中選擇“測(cè)試窗口”,打開(kāi)一個(gè)如下塊,在begin和end中間添加能觸發(fā)觸發(fā)器的語(yǔ)句
4,按F9或者點(diǎn)擊調(diào)試菜單中的開(kāi)始菜單,進(jìn)入運(yùn)行調(diào)試狀態(tài)(后面的紅框是單步進(jìn)入)
5,點(diǎn)擊運(yùn)行圖標(biāo)跳到觸發(fā)器中斷點(diǎn)位置
6,鼠標(biāo)放到變量上可以顯示變量值。
7,如果有異常,就彈出相關(guān)異常信息。
調(diào)試的時(shí)候發(fā)現(xiàn)new對(duì)象的日期格式為中文,而后面又需要yyyy-mm-dd 的格式來(lái)作為查詢條件。所以就在賦值的時(shí)候轉(zhuǎn)換一下。
在select into 給變量賦值的時(shí)候,select 查詢出來(lái)的集合為空,導(dǎo)致報(bào)錯(cuò)ORA-01403,解決方案就是將這一段用begin end 包裹起來(lái),拋出改異常的時(shí)候給變量一個(gè)默認(rèn)值。如下圖:
你說(shuō)的異常是什么意思?如果是,執(zhí)行中的錯(cuò)誤,那么可以用“調(diào)試”,不過(guò)需要有一個(gè)系統(tǒng)權(quán)限的擁護(hù)才能調(diào)試,權(quán)限好象是什么debug XXXXX。
如果說(shuō)的是有時(shí)執(zhí)行因?yàn)檫@樣那樣的數(shù)據(jù)問(wèn)題出現(xiàn)的異常,那么一般都是通過(guò)exception來(lái)拋出異常的,這樣的拋出的異常,你可以自己編代碼,然后輸入一張表內(nèi),這樣就可以捕獲異常了。如果1表示沒(méi)有主鍵,2表示數(shù)據(jù)超長(zhǎng)等等。具體的寫法網(wǎng)上很多,這里就不寫了。
分享題目:oracle怎么拋出異常 oracle觸發(fā)器拋出異常
文章來(lái)源:http://www.chinadenli.net/article10/hipgdo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、移動(dòng)網(wǎng)站建設(shè)、做網(wǎng)站、App開(kāi)發(fā)、商城網(wǎng)站、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容