PL SQL 關於迴圈的練習

2022-08-23 07:57:10 字數 3361 閱讀 3738

輸出99乘法表

declare

begin

for i in 1..9loop

for j in 1..i loop

--不換行輸出資料

dbms_output.put(j||'*'||i||'='||(j*i));

end loop;

--換行輸出

dbms_output.put_line(

null

); end loop;

end;

效果:1*1=1

1*2=22*2=4

1*3=32*3=63*3=9

1*4=42*4=83*4=124*4=16

1*5=52*5=103*5=154*5=205*5=25

1*6=62*6=123*6=184*6=245*6=306*6=36

1*7=72*7=143*7=214*7=285*7=356*7=427*7=49

1*8=82*8=163*8=244*8=325*8=406*8=487*8=568*8=64

1*9=92*9=183*9=274*9=365*9=456*9=547*9=638*9=729*9=81

輸出等腰三角形

declare

begin

for i in 1..10loop

--迴圈輸出總數-行數個空格

for j in reverse i..10loop

dbms_output.put(' ');

end loop;

--輸出行數個*號和空格

for x in 1..i loop

dbms_output.put('* ');

end loop;

--換行

dbms_output.put_line(

null

); end loop;

end;

效果:*

* ** * *

* * * *

* * * * *

* * * * * *

* * * * * * *

* * * * * * * *

* * * * * * * * *

* * * * * * * * * *

四種迴圈方法遍歷乙個表

--遍歷college表

--第一種方法,游標+for迴圈

1

2declare

3 cursor coll_cursor is select *from college;

4begin

5for

coll_info in coll_cursor loop

6 dbms_output.put(coll_info.coll_id||' ');

7 dbms_output.put(coll_info.coll_name||' ');

8dbms_output.put(coll_info.coll_score);

9 dbms_output.put_line(null

);10

end loop;

11 end;

--第二種方法 游標+while迴圈

1

declare

2cursor coll_cursor is select coll_id,coll_name from college;

3 id college.coll_id%type;

4 name college.coll_name%type;

5begin

6open coll_cursor;

7fetch coll_cursor into id,name;

8while coll_cursor%found loop

9 dbms_output.put(id||' ');

10dbms_output.put(name);

11 dbms_output.put_line(null

);12

fetch coll_cursor into id,name;

13end loop;

14close coll_cursor;

15 end;

--第三種方法 不定義游標,直接獲取結果集裡面的資料

begin

for coll_info in (select *from college) loop

dbms_output.put(coll_info.coll_id||' ');

dbms_output.put(coll_info.coll_name||' ');

dbms_output.put(coll_info.coll_score);

dbms_output.put_line(

null

); end loop;

end;

--第四種方法

1

declare

2 cursor coll_cursor is select *from college;

3 coll_info college%rowtype;

4begin

5open coll_cursor;

6loop

7fetch coll_cursor into coll_info;

8 exit when coll_cursor%notfound;

9 dbms_output.put(coll_info.coll_id||' ');

10 dbms_output.put(coll_info.coll_name||' ');

11dbms_output.put(coll_info.coll_score);

12 dbms_output.put_line(null

);13

end loop;

14close coll_cursor;

15 end;

結果:1013  燕山大學  575

1001  清華大學  620

1002  北京大學  600

1003  武漢大學  550

1004  華南科技大學  530

1005  復旦大學  580

1006  中山大學  620

1007  華北理工大學  500

1008  暨南大學  510

1009  山東科技大學  620

1014  哈爾濱工業大學  575

1010  唐山學院  480

1011  吉林大學  580

1015  中國石油大學  565

PLSQL的迴圈控制

1.if declare v count number 10 0 定義計數器變數 v empno number 4 7888 定義員工編號 begin select count 1 首先查詢指定的員工編號是否存在 into v count from emp where empno v empno 使...

pl sql的迴圈運用

loop declare v i number 5 1 begin loop dbms output.put line v i exit when v i 100 v i v i 10 end loop end set serveroutput on declare v i number 5 1 b...

python習題,關於while迴圈的練習

題目1 用while迴圈,輸出1,2,3,4,5,6,8,9,10的數字 例項1 方法一 i 1 while i 10 if i 7 print i,end i 1 print 方法二 i 1 while i 10 if i 7 i 1 continue print i,end i 1 執行結果 1...