plsql程式設計之,迴圈語句和判斷語句

2021-08-19 16:45:14 字數 2283 閱讀 9847

----  作業  輸出 薪水等級 2 - 5 等級 最低和 最高薪水

set serveroutput on

declare mysal number:=1;

myhi number;

mylo number;

begin

loop

if(mysal>5) then

exit;

end if;

select losal,hisal into mylo,myhi from salgrade where grade=mysal;

dbms_output.put_line(mysal||'的最高薪水是'||myhi||'最低薪水是'||mylo);

mysal:=mysal+1;

end loop;

end;

--第二種方式

set serveroutput on --注意server的寫法

declare mysal number:=2;

myhi number;

mylo number;

begin

loop

select losal,hisal into mylo,myhi from salgrade where grade=mysal;

dbms_output.put_line(mysal||'的最高薪水是'||myhi||'最低薪水是'||mylo);

mysal:=mysal+1;

exit when mysal=6;

end loop;

end;

--求出5的階乘

set serveroutput on

declare a number:=5;

b number:=1;

begin

loop

b:=a*b;

a:=a-1;

exit when a=1;

end loop;

dbms_output.put_line(b); --注意變數的作用範圍、

end;

-- 作業 plsql 程式設計 查詢 emp 表 薪水大於3000

-- 有多個 就輸出 有多個員工大於3000

-- 有1個 就輸出 有1個員工大於3000

-- 沒有 就輸出 沒有

set serveroutput on

declare a number;

begin

select count(*)into a from emp where sal>3000;

if(a>1)then

dbms_output.put_line('有乙個員工大於3000');

elsif(a=0) then

--else if(a=0) then --注意用elsif結尾可以只用乙個end if結束,否則,用多個

dbms_output.put_line('有零個員工大於3000');

else

dbms_output.put_line('有多個員工大於3000');

end if;

--end if;

end;

--case when 語句

set serveroutput on

declare a number:=1;

begin

case a --注意此時的用法

when 1 then

dbms_output.put_line('優秀');

when 2 then

dbms_output.put_line('良好');

else

dbms_output.put_line('及格');

end case;

end;

--case when 語句寫法2

set serveroutput on

declare a number:=1;

b varchar2(32);

begin

b:= case a --注意此時的用法

when 1 then

'優秀' --沒有分號

when 2 then

'良好'

else

'及格'

end case ;

dbms_output.put_line(b);

end;

pl sql程式設計之迴圈操作

在資料庫開發過程中,我們不可避免的使用到迴圈語句。特別是遇到複雜的業務邏輯,我們可能要適用各種不同的迴圈來實現業務要求和最優的執行效率,我想說說我遇到的幾種迴圈的使用方法!1,基本迴圈使用,loop.end loop,這個迴圈是最簡單的迴圈語句!語法 loop if condition then e...

PLSQL判斷和迴圈

pl sql是oracle對sql語言的過程化擴充套件,指在sql命令語言中增加了過程處理語言 如分支 迴圈等 使sql語言具有過程處理能力。把sql語言的資料操作能力與過程資料的資料處理能力結合起來,使得plsql面向過程但比過程語言簡單 高效 靈活和使用。declare 說明部分 變數說明,游標...

Oracle語句塊PL SQL迴圈判斷

pl sql procedural language sql 被資料庫編譯儲存,由使用者呼叫 cuug本周五晚8點免費網路課程,大家趕緊報名去參加吧!程式塊 語法 declare 宣告變數 宣告變數 age int 沒有預設值的變數 age2 int 0 begin 寫正常的處理語句 dbms ou...