写点什么

PLSQL 过程语言 - 结构化查询语言

用户头像
Flychen
关注
发布于: 2020 年 10 月 20 日

procedure language 过程语言,oracle 对 sql 的一个扩展


让我们能够像在 java 中一样写 if else else if 条件,还可以编写循环逻辑 for while。


--1--声明变量,并输出


declare

i varchar2(10):= '张三';


begin

dbmsoutput.putline(i);


end;


--2--查询 7360 的工资,并打印出来

declare

vsal scott.emp.sal%type;--引用型变量

begin

select sal into vsal from scott.emp where empno='7369';


dbmsoutput.putline(vsal);


end;


--3--查询 7360 的员工信息,并打印出来

declare

vrow scott.emp%rowtype; --声明记录型变量

begin

select * into vrow from scott.emp where empno='7369';


dbmsoutput.putline('姓名'||vrow.ename || '工资'||vrow.sal);


end;


--4--条件判断,根据不停年龄,输出相关内容


declare

age number := 60;


begin

if age < 18 then

dbmsoutput.putline('小屁孩');


elsif age >= 18 and age <=25 then

dbmsoutput.putline('年轻人');


elsif age >25 and age <40 then

dbmsoutput.putline('老司机');


else

dbmsoutput.putline('老年人');


end if;


end;


--5--while 循环,输出 1~10;


declare

i number :=1;


begin

while i<=10 loop

dbmsoutput.putline(i);

i :=i+1;


end loop;


end;


--6-- for 循环,输出 1~12


declare

i number :=1;

begin

for i in 1..12 loop

dbmsoutput.putline(i);

end loop;


end;


--7--倒序输出 reverse


declare

i number :=1;

begin

for i in reverse 1..12 loop

dbmsoutput.putline(i);

end loop;


end;

--8--loop 循环输出 1~20


declare

i number :=1;

begin

loop

exit when i>20;

dbmsoutput.putline(i);

i :=i+1;

end loop;

end;


--9--输出菱形


declare

m number :=10;


begin


for x in -m..m loop

for y in -m..m loop

if abs(y)+abs(x)<=m then

dbms_output.put('*');

else

dbms_output.put(' ');


end if;


end loop;

dbmsoutput.newline();

end loop;


end;


--10-- 输出三角形


declare

m number :=10;


begin


for x in reverse -m..m loop

for y in -m..m loop

if abs(y)+abs(x)<=m and x>0 then

dbms_output.put('*');

else

dbms_output.put(' ');


end if;


end loop;

dbmsoutput.newline();

end loop;


end;


发布于: 2020 年 10 月 20 日阅读数: 40
用户头像

Flychen

关注

日拱一卒! 2020.02.21 加入

还未添加个人简介

评论

发布
暂无评论
PLSQL 过程语言-结构化查询语言