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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

未处理sqlexception中value_plsql异常处理

發布時間:2025/1/21 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 未处理sqlexception中value_plsql异常处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Oracle

中的

exception

——

(Raise)

1

、異常的優點

如果沒有異常,在程序中,應當檢查每個命令的成功還是失敗,如

BEGIN

SELECT?...

--

check?for?’no?data?found’?error

SELECT?...

--

check?for?’no?data?found’?error

SELECT?...

--?check?for

’no?data?found’?error

這種實現的方法缺點在于錯誤處理沒有與正常處理分開,

可讀性差,

使用異常,

可以方便處

理錯誤,而且異常處理程序與正常的事務邏輯分開,提高了可讀性,如

BEGIN

SELECT?...

SELECT?...

SELECT?...

...

EXCEPTION

WHEN?NO_DATA_FOUND?THEN?--

catches?all?’no?data?found’?errors

2

、異常的分類

有兩種類型的異常,

一種為內部異常,

一種為用戶自定義異常,

內部異常是執行期間返回到

PL/SQL

塊的

ORACLE

錯誤或由

PL/SQL

代碼的某操作引起的錯誤,如除數為零或內存溢出的

情況。用戶自定義異常由開發者顯示定義,在

PL/SQL

塊中傳遞信息以控制對于應用的錯誤

處理。

每當

PL/SQL

違背了

ORACLE

原則或超越了系統依賴的原則就會隱式的產生內部異常。因為

每個

ORACLE

錯誤都有一個號碼并且在

PL/SQL

中異常通過名字處理,

ORACLE

提供了預定義

的內部異常。如

SELECT

INTO

語句不返回行時產生的

ORACLE

異常

NO_DATA_FOUND

。對于

預定義異常,現將最常用的異常列舉如下:

exception

oracle?error

sqlcode?value

condition

no_data_found

ora-01403

+100

select

into

語句沒有符

合條件的記錄返回

too_many_rows

ora-01422

-1422

select?into

語句符合條件的記錄有多條返回

dup_val_on_index

ora-00001

-1

對于數據庫表中的某一列,

該列已經被限制為唯一索

引,程序試圖存儲兩個重復的值

value_error

ora-06502

-6502

在轉換字符類型,截取或長度受限時,會發生該異常,

如一個字符分配給一個變量,而該變量聲明的長度比該字符短,就會引發該異常

storage_error

ora-06500

-6500

內存溢出

zero_divide

ora-01476

-1476

除數為零

case_not_found

ora-06592

-6530

對于選擇

case

語句,

沒有與之相匹配的條件,

同時,

也沒有

else

語句捕獲其他的條件

總結

以上是生活随笔為你收集整理的未处理sqlexception中value_plsql异常处理的全部內容,希望文章能夠幫你解決所遇到的問題。

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