1. 程式人生 > >PL/SQL Case 與 Searched CASE 語句操作例項講解

PL/SQL Case 與 Searched CASE 語句操作例項講解

PL/SQL Case 與 Searched CASE 語句解釋說明如下:

像IF語句中,CASE語句選擇要執行的語句一個序列。但是選擇順序,CASE語句使用一個選擇而不是多個布林表示式。一個選擇器其值被用來選擇多個選項之一的表示式
所搜尋的CASE語句沒有選擇,它的WHEN子句包含產生布爾值的搜尋條件。

PL/SQL  Case 與 Searched CASE 的語法再操作例項原始碼中有贅述,在此不做解釋,原始碼如下:

-- Created on 2018/3/23 by E.WANG 
--對兩個書進行加、減、乘、除、乘方運算
  
declare 
  --運算子號
  operrator varchar(2);
begin
  /*
      在PL/SQLcase語句語法是:
      CASE selector
          WHEN 'value1' THEN S1;
          WHEN 'value2' THEN S2;
          WHEN 'value3' THEN S3;
          ...
          ELSE Sn;  -- default case
      END CASE;
   */
  declare 
    one_int integer:=10;
    two_int integer:=2;
    resutl double precision;
  begin
      operrator:='+';
      case operrator
           when '**' then 
                resutl:=one_int**two_int;
                dbms_output.put_line('Case---Power operrator: ' ||resutl );
           when '/'  then 
                resutl:=one_int/two_int;
                dbms_output.put_line('Case---Div operrator: ' || resutl);
           when '-'  then
                resutl:=one_int-two_int;
                dbms_output.put_line('Case---Sub operrator: ' || resutl);
           when '*'  then
                resutl:=one_int*two_int; 
                dbms_output.put_line('Case---Mul operrator: ' || resutl);
           when '+'  then
                resutl:=one_int+two_int; 
                dbms_output.put_line('Case---Add operrator: ' || resutl);
           else 
                dbms_output.put_line('Case---Invalid operrator!');
      end case;
    end;
    
  /*
  在PL/SQL搜查case語句語法是:
    CASE
        WHEN selector = 'value1' THEN S1;
        WHEN selector = 'value2' THEN S2;
        WHEN selector = 'value3' THEN S3;
        ...
        ELSE Sn;  -- default case
    END CASE;
  */  
  declare 
    one_int integer:=10;
    two_int integer:=2;
    resutl double precision;
  begin
      operrator:='**';
      case 
           when operrator='**' then 
                resutl:=one_int**two_int;
                dbms_output.put_line('Search Case---Power operrator: ' ||resutl );
           when operrator='/'  then 
                resutl:=one_int/two_int;
                dbms_output.put_line('Search Case---Div operrator: ' || resutl);
           when operrator='-'  then
                resutl:=one_int-two_int;
                dbms_output.put_line('Search Case---Sub operrator: ' || resutl);
           when operrator='*'  then
                resutl:=one_int*two_int; 
                dbms_output.put_line('Search Case---Mul operrator: ' || resutl);
           when operrator='+'  then
                resutl:=one_int+two_int; 
                dbms_output.put_line('Search Case---Add operrator: ' || resutl);
           else 
                dbms_output.put_line('Search Case---Invalid operrator!');
      end case;
    end;
  
end;

視窗截圖如下:


執行結果截圖: