初識Oracle PL SQL控制流程

2021-06-23 03:21:57 字數 2761 閱讀 8680

--else if

declare

sals number;

begin

select sal into sals from emp where empno=&empno;

if sals<2000 then

dbms_output.put_line('掙得不多,需努力');

else

if sals<5000 then

dbms_output.put_line('收入還可以,還需努力');

else

dbms_output.put_line('掙得挺多了,歇歇吧');

end if;

end if;

end;

select null+1 from dual;

select null||1 from dual;

--if elsif end if

--從鍵盤獲取2個數,判斷大小

declare

v_num1 number;

v_num2 number;

begin

v_num1:=&n1;

v_num2:=&n2;

if v_num1>v_num2 then

dbms_output.put_line(v_num1||'>'||v_num2);

else

dbms_output.put_line(v_num1||'<'||v_num2);

end if;

--方式1

if v_num1>5 then

dbms_output.put_line(v_num1||'>5');

else

if v_num1>3 then

dbms_output.put_line(v_num1||'>3');

end if;

end if;

--方式2

if v_num1>5 then

dbms_output.put_line(v_num1||'>5');

elsif v_num1>3 then

dbms_output.put_line(v_num1||'>3');

end if;

end;

-- case when語句

declare

v_grade char(1):=upper('&grade');

v_result varchar2(50);

begin

case v_grade

when 'a' then v_result:='相當的靠譜';

when 'b' then v_result:='有點靠譜';

when 'c' then v_result:='靠譜';

else v_result:='相當的不靠譜';

end case;

dbms_output.put_line('你的成績:'||v_result);

end;

--迴圈

--無條件迴圈

loop

exit when

end loop;

--從1+2+....結果為10的時候退出迴圈

declare

v_count number:=0;

i number:=1;

begin

loop

v_count:=v_count+i;

i:=i+1;

exit when v_count=10;

end loop;

dbms_output.put_line('i='||i);

dbms_output.put_line('v_count='||v_count);

end;

--while迴圈

while 《條件》 loop

end loop;

declare

v_count number:=0;

i number:=1;

begin

while v_count<10 loop

v_count:=v_count+i;

i:=i+1;

end loop;

dbms_output.put_line('i='||i);

dbms_output.put_line('v_count='||v_count);

end;

--for 迴圈

declare

begin

for i in 1..10 loop

dbms_output.put_line('i='||i);

end loop;

end;

declare

begin

for i in reverse 1..10 loop

dbms_output.put_line('i='||i);

end loop;

end;

--不建議使用goto語句

declare

v_count number:=1;

begin

loop

v_count:=v_count+1;

if v_count>=10 then

goto end_loop;

end if;

end loop;

<>

dbms_output.put_line('v_count='||v_count);

end;

不要忘記end if、end loop

Oracle PL SQL控制結構

oracle pl sql控制結構 pl sql是面向過程的語言,存在針對邏輯的控制語言。主要的邏輯控制語句有if if.else.if.elif.巢狀if case loop while.loop for.loop cursor for loop。一 if條件控制語句 if語句有三種使用方式 if...

Oracle PL SQL之LOOP迴圈控制語句

在pl sql中可以使用loop語句對資料進行迴圈處理,利用該語句可以迴圈執行指定的語句序列。常用的loop迴圈語句包含3種形式 基本的loop while.loop和for.loop。loop語句的基本語法結構如下 loop statement.end loop label name 語法說明 l...

Oracle PL SQL語言基礎 控制語句

預定義異常種類 異常處理 異常說明 access into null 在未初始化物件時出現 case not founf 在case 語句中的選項與使用者輸入的資料不匹配時出現 collection is null 在給尚未初始化的表或陣列賦值時出現 cursor already open 使用者試...