2008年12月19日 星期五

[Oracle] PL/SQL 例外處理

前言

現在的程式語言中,幾乎都提供了例外處理的功能,當然 PL/SQL 也不能例外,除了提供例外處理的功能外,還可以讓使用者自訂例外喔!

 

Oracle 內建的例外種類

其實在 Oracle 當中就已經內建了許多例外的定義了,例如:NO_DATA_FOUND(當 SELECT INTO 的語法沒有回傳任何資料列時會觸發)、CASE_NOT_FOUND(當條件中沒有任何一項符合且沒有 ELSE 選項時會觸發),詳細的內建例外說明,可以參考官方網站的文件

而例外的使用方式如下:

 

以下用個範例說明如何使用 Oracle 的內建範例:

 

自訂例外

自訂的例外在宣告上很有彈性,可以放在 subprogram 中,也可以放在 package specification 或是 package body 中,完全隨使用者方便。

而自訂例外的語法如下:

接著是自訂例外觸發條件與例外處理的範例:

沒有留言:

張貼留言