--方法一
declare
i number(4);--存储1-100中所有的数(用作被除数)j number(4) := 1;--存储除数
z number(4) := 0--存储被整除的次数;
begin
for i in 1..100 loop
while j <= i loop
if mod(i,j) = 0 then
z := z + 1;
end if;
j := j + 1;
end loop;
j := 0;
if z = 2 then
dbms_output.put_line(i);
end if;
z := 0;
end loop;
end;
/
--方法二
declare
v_number number(3);
v_temp number(3):=1;
begin
for v_number in 1..100 loop
v_temp:=1;
while v_temp<v_number loop
v_temp:= v_temp+1;
if v_temp=v_number then
dbms_output.put_line(v_number);
end if;
if mod(v_number,v_temp)=0 then --如果出现被除本身和1以外的数整除则退出循环并打印
exit;
end if;
end loop;
end loop;
end