2013-07-14 89 views
-3

考慮這種情況下:大小寫是否自動中斷?

case when 4 > 3 then dbms_output.put_line('3'); 
    when 4 > 2 then dbms_output.put_line('2'); 
    when 4 > 1 then dbms_output.put_line('1'); 
end case; 

會有什麼輸出呢?它會迴應所有三個陳述嗎?如果會的話,我該如何在pl/sql中打開一個開關盒?

回答

2

閱讀documentation

一旦條件被發現是真的,case語句將返回結果,並沒有任何進一步的評估條件。進一步的解釋可以在here找到。

的case語句的語法是:

CASE [表達式]

WHEN condition_1 THEN result_1

WHEN condition_2 THEN result_2

...

WHEN condition_n THEN result_n

ELSE導致

END

表達是可選的。這是您與條件列表進行比較的價值。 (即:condition_1,condition_2,... condition_n)

condition_1 to condition_n必須全部是相同的數據類型。條件按列出的順序進行評估。一旦發現條件成立,案例陳述將返回結果並且不再評估條件。

result_1到result_n都必須是相同的數據類型。這是一旦條件被發現是真實的返回值。

+0

我錯過了行,當我閱讀文檔:)感謝。 –