###1.1代码:输出菱形
declare
m number := 3;
begin
for y in -m..m loop
for x in -m..m loop
if abs(y) + abs(x) <= m then
dbms_output.put('*');
else
dbms_output.put(' ');
end if;
end loop;
dbms_output.new_line();
end loop;
end;
####1.2解释:
两个for循环,一个循环列,一个循环行,值得注意的是,navicat里如果不带new_line(),就不能输出。可以用put_line()来输出。
###2.1代码:是数字左右反转
declare
score number(10);
tp number;
rem number(10):=0;
begin
score:= 12345;
while score > 0 loop
tp := mod(score,10);
rem := (rem*10)+tp;
score := trunc(score/10);
end loop;
dbms_output.put_line('反转后的数字为:'|| rem);
end;
####1.2解释:
mod函数取余,rem每次将余数加到个位上,trunc取整,直到score=0时,跳出while循环。值得注意的是Navicat 不支持 SQL*Plus 的替换变量‘&’和 ACCEPT 命令。