日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle 基本异常的练习及各个错误码

發布時間:2023/12/9 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle 基本异常的练习及各个错误码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
DECLAREv_deptno emp.deptno%TYPE :=&deptno;v_sal emp.sal%TYPE;v_empno emp.empno%TYPE; BEGINSELECT sal INTO v_sal FROM emp WHERE deptno= v_deptno;IF v_sal<=1500 THEN UPDATE emp SET sal=sal+100 WHERE empno= v_empno; DBMS_OUTPUT.PUT_LINE('編碼為'||v_empno||'員工工資已更新!'); ELSEDBMS_OUTPUT.PUT_LINE('編碼為'||v_empno||'員工工資已經超過規定值!');END IF; EXCEPTIONWHEN Dup_val_on_index THEN DBMS_OUTPUT.PUT_LINE('數據庫中沒有編碼為'||v_deptno||'的員工');WHEN TOO_MANY_ROWS THENDBMS_OUTPUT.PUT_LINE(SQLCODE||v_deptno||SQLERRM); ---1422返回多行WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE(SQLCODE||v_deptno||SQLERRM); --100表示NO_DATA_FOUND END; select * from dept DECLAREv_deptno dept.deptno%TYPE :=&deptno;deptno_remaining EXCEPTION;PRAGMA EXCEPTION_INIT(deptno_remaining, 100);/* -2292 是違反一致性約束的錯誤代碼 */ BEGINDELETE FROM dept WHERE deptno=v_deptno; EXCEPTIONWHEN deptno_remaining THEN DBMS_OUTPUT.PUT_LINE('違反數據完整性約束!');WHEN OTHERS THENDBMS_OUTPUT.PUT_LINE(SQLCODE||'---'||SQLERRM); --sqlcode數據庫返回的操作碼 SQLERRM返回錯誤碼信息 '程序運行錯誤!請使用游標' END; DECLAREv_deptno dept.deptno%TYPE :=&deptno;no_result EXCEPTION;no_result1 EXCEPTION;deptno_remaining EXCEPTION;PRAGMA EXCEPTION_INIT(deptno_remaining, -2292); BEGIN-- DELETE FROM dept WHERE deptno=v_deptno;UPDATE emp SET sal=sal+100 WHERE deptno=v_deptno;IF SQL%FOUND THENRAISE no_result;elsIF SQL%NOTFOUND THEN RAISE no_result1; END IF;EXCEPTIONWHEN no_result THENDBMS_OUTPUT.PUT_LINE(SQLCODE||'這是1'||SQLERRM);WHEN no_result1 THENDBMS_OUTPUT.PUT_LINE(SQLCODE||'這是2'||SQLERRM); --1表示用戶沒有定義WHEN deptno_remaining THEN DBMS_OUTPUT.PUT_LINE('你的數據更新語句失敗了!');WHEN OTHERS THENDBMS_OUTPUT.PUT_LINE(SQLCODE||'---'||SQLERRM); END;Exceptionwhen osi_general_error thenDBMS_OUTPUT.PUT_LINE(SQLCODE||'這是1'||SQLERRM);when OTHERS THEN DBMS_OUTPUT.PUT_LINE('你的數據更新語句失敗了!');select* from empdeclarev_empno emp.empno%type := &empno;v_ename emp.ename%type; beginselect ename into v_ename from empwhere empno = v_empno;dbms_output.put_line(SQLCODE||'----'||v_ename); --0表示沒有異常exceptionwhen others thenraise_application_error(-20001 , 'emp'||v_empno||' does not exists');end;

  

轉載于:https://www.cnblogs.com/wx1691790309/p/7234640.html

總結

以上是生活随笔為你收集整理的oracle 基本异常的练习及各个错误码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。