PL_sql之迴圈結構
阿新 • • 發佈:2018-12-30
沒有迴圈結構時 程式會按順序執行
包括兩部分
迴圈執行語句體 迴圈結束語句
第一種迴圈語句
loop
執行語句;
if 條件 then
exit;
end if;
END loop;
練習 用loop和if輸出100個數
set SERVEROUTPUT ON
DECLARE
i number(3):=1;
BEGIN
loop
DBMS_OUTPUT.PUT_LINE(i);
i:=i+1;
if i>100 then
exit;
end if;
end loop;
end;
迴圈的第二種語句
輸出奇數的平方
set SERVEROUTPUT ON
DECLARE
i number(2):=1;
BEGIN
loop
DBMS_OUTPUT.PUT_LINE(i*i);
i:=i+2;
exit when i>30;
end loop;
end;
第三種語句
程式設計根據輸入的字串反向輸出
set SERVEROUTPUT ON
DECLARE
value_1 varchar(100):='&親輸入字串';
length_1 number(4);
value_2 varchar(100);
begin
length_1:=length(value_1);
while length_1!=0
loop
value_2:=value_2||SUBSTR(value_1,length_1,1);
length_1:=length_1-1;
end loop;
DBMS_OUTPUT.PUT(value_2);
end;
第四種 for迴圈
求之和:1+2+3+4++5......100;
set SERVEROUTPUT ON
DECLARE
sum_1 number(4):=0;
i number(3):=1;
BEGIN
for i in 1..100
loop
sum_1:=sum_1+i;
end loop;
DBMS_OUTPUT.PUT('1+2+3+....100'||sum_1);
end;
包括兩部分
迴圈執行語句體 迴圈結束語句
第一種迴圈語句
loop
執行語句;
if 條件 then
exit;
end if;
END loop;
練習 用loop和if輸出100個數
set SERVEROUTPUT ON
DECLARE
i number(3):=1;
BEGIN
loop
DBMS_OUTPUT.PUT_LINE(i);
i:=i+1;
if i>100 then
exit;
end if;
end loop;
end;
迴圈的第二種語句
輸出奇數的平方
set SERVEROUTPUT ON
DECLARE
i number(2):=1;
BEGIN
loop
DBMS_OUTPUT.PUT_LINE(i*i);
i:=i+2;
exit when i>30;
end loop;
end;
第三種語句
程式設計根據輸入的字串反向輸出
set SERVEROUTPUT ON
DECLARE
value_1 varchar(100):='&親輸入字串';
length_1 number(4);
value_2 varchar(100);
begin
length_1:=length(value_1);
while length_1!=0
loop
value_2:=value_2||SUBSTR(value_1,length_1,1);
length_1:=length_1-1;
end loop;
DBMS_OUTPUT.PUT(value_2);
end;
第四種 for迴圈
求之和:1+2+3+4++5......100;
set SERVEROUTPUT ON
DECLARE
sum_1 number(4):=0;
i number(3):=1;
BEGIN
for i in 1..100
loop
sum_1:=sum_1+i;
end loop;
DBMS_OUTPUT.PUT('1+2+3+....100'||sum_1);
end;