PL SQL學習筆記 條件控制 (三)

2021-08-30 07:54:20 字數 1741 閱讀 1224

一:if條件控制

先看一段程式:

declare

v_content varchar2(66);

begin

select content into v_content from xland where title='xland';

if length(v_content)>6 then

v_content := substr(v_content,0,6)||'...';

else

v_content := v_content||'(全部資料)';

end if;

dbms_output.put_line(v_content);

end;

這段程式用到了if…then else end if結構

1.其中length()函式可以獲取乙個字串的字元長度

另外還有lengthb()函式,可以獲取乙個字串的位元組長度

2.substr()函式,可以按字元長度獲取乙個字串的子字串,

另外還有substrb()函式,可以按位元組長度獲取乙個字串的子字串

3.select… 句是從乙個表裡獲取一條資料,並把資料儲存在我們定義的變數中

注意一定要是一條資料,因為我們的變數不是table或者record型別

至於這些型別會在後面的文章中提到

另外還有if…then elseif…then else end if結構

這裡就不舉例子了

注意elseif是連在一起寫的,這很像vb的語法,與c#語法有區別

二:case條件控制

先看例子:

declare

v_content number;

begin

select length(content) into v_content from xland where title='xland';

case

when v_content>6 then

dbms_output.put_line('長度為:'||to_char(v_content));

when v_content<6 then

dbms_output.put_line('長度為:'||to_char(v_content));

else dbms_output.put_line('長度為:'||to_char(v_content));

end case;

end;

其中:to_char()是將乙個日期或數字轉換成字串型別的函式

我這裡只做演示

實際使用當中case分支控制結構當然不會這樣寫

再看乙個例子:

declare

v_content number;

begin

select length(content) into v_content from xland where title='xland';

case v_content

when 16 then

dbms_output.put_line('長度為:'||to_char(v_content));

else

dbms_output.put_line('長度為:'||to_char(v_content));

end case;

end;

這個就不多解釋了。

PLSQL條件控制

if條件控制語句 declare sal number 500 comm number begin if sal 100 then comm 0 elsif sal 600 then comm sal 0.1 elsif sal 1000 then comm sal 0.2 else comm sa...

6 PL SQL條件控制

決策結構要求程式設計師指定要由程式評估或測試乙個或多個條件,以及如果條件確定為真 true 則執行對應的語句塊,以及可選地,如果執行其他語句條件被確定為假 false 以下是大多數程式語言中的典型條件 即決策 結構的一般形式 pl sql程式語言提供以下型別的決策語句。以下鏈結來檢視它們的細節。編號...

PL SQL學習筆記 迴圈控制與順序控制

一 loop.end loop 先看 declare v flag number 1 begin loop exit when v flag 16 v flag v flag 1 dbms output.put line to char v flag end loop end 其中exit when...