oracle中有case語句嗎

oracle中有case語句;該語句可以把表達式結果同提供的幾個可預見的結果作比較,如果比較成功,則執行對應的語句序列,語法為“CASE 表達式 WHEN 表達式結果1 THEN 執行項[WHEN 表達式結果2 THEN 執行項]…”。

oracle中有case語句嗎

本教程操作環境:Windows10系統、Oracle 12c版、Dell G3電腦。

oracle中有case語句嗎

oracle中有case語句

case語句可以分為兩種類型:

一種是簡單的case語句,它給出一個表達式,并把表達式結果同提供的幾個可預見的結果作比較,如果比較成功,則執行對應的語句序列。

另一種是搜索式的case語句。它會提供多個布爾表達式,然后選擇第一個為true的表達式,執行對應的腳本。

1.簡單case語句

??簡單case的語法如下:

oracle中有case語句嗎

??分別輸入 1 、2 調用后的結果如下:

匿名塊已完成 男人 匿名塊已完成 女人

??從上邊來看,case 的簡單語法如下:

case?標志 when?參數1?then 語句塊1; when?參數2?then 語句塊2; else 語句塊3; end?case;

??執行過程中是,從上到下,依次拿when 后邊的參數,分別與上邊的標志 進行比較,相等 則進入。

??另外,上邊的else 如果不寫,假如沒有符合條件的when ,則會拋出CASE_NOT_FOUND 異常。

2.搜索式case語句

??搜索式case與簡單式差不多,只不過是搜索式的這種,case后邊是沒有參數的。

將上邊的例子,修改后如下,即是搜索式case:

oracle中有case語句嗎

??執行過程與上邊相同。

??從上邊來看,搜索式的case語法如下:

case? when?條件1?then 語句塊1; when?條件2?then 語句塊2; else 語句塊3; end?case;

??執行過程中是,從上到下,依次看when 后邊的條件是否為true,true 則進入。

??另外,上邊的else 如果不寫,假如沒有符合條件的when ,也會拋出CASE_NOT_FOUND 異常。

推薦教程:《Oracle視頻教程

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊10 分享