您的位置:首页 > 数据库

PL/SQL基础知识

2017-08-22 00:00 197 查看
摘要: 每个知识点都有对应实例。

循环结构

使用循环语句打印 1 - 100.(三种方式)

-- ① loop        exit when        end loop
set serveroutput on;
declare
-- 初始化
v_i number(3) := 1;
begin
loop
-- 循环体,打印变量 v_i
dbms_output.put_line(v_i);
-- 循环条件
exit when v_i = 100;
-- 迭代条件
v_i := v_i + 1;
end loop;
end;

-- ② while        loop        end loop
set serveroutput on;
declare
-- 初始化
vi number(3) := 1 ;
begin
while vi <= 100 loop
dbms_output.put_line(vi);
vi := vi + 1;
end loop ;
end;

-- ③ for    loop     end loop

set serveroutput on;

begin
for i in 1 .. 100 loop
dbms_output.put_line(i);
end loop;
end;

10.综合使用 if,while 语句 ,打印1—10 之间的所有素数。(素数:只能被1和自身乘除)

declare
v_flag number(1) :=1;
v_i number(3) :=2;
v_j number(2) :=2;
begin

while (v_i <= 100 ) loop
while v_j <=sqrt(v_i) loop
if (mod(v_i ,v_j) = 0 ) then v_flag := 0 ;
end if;
v_j := v_j +1;
end loop;

if(v_flag = 1) then SYS.DBMS_OUTPUT.PUT_LINE( v_i );
end if;

v_flag := 1;
v_j := 2;
v_i := v_i +1;
end loop;

end;
//--------------------------------------------------------------------------------------------------------------------------------------------
declare
v_flag number(1) :=1;
begin
for i in 2 .. 100 loop
v_flag :=1;

for j in 2 .. sqrt(i) loop
if i mod j = 0 then v_flag :=0;
end if;
end loop;

if v_flag = 1 then dbms_output.put_line(i);
end if;
end loop;
end;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: