Oracle快速入门(PLSQL编程)
发布日期:2021-06-29 15:02:42 浏览次数:2 分类:技术文章

本文共 2496 字,大约阅读时间需要 8 分钟。

PLSQL编程

一、PLSQL的概念:

PLSQL编程:procedure Language 过程语言 Oracle对SQL的一个扩展

让我们能够让像在Java当中一样写if else else if 条件,还可以编写相应的循环逻辑 for while

二、语法

declare 	-- 声明变量	变量名 变量类型;	变量名 变量类型 := 初始值;	begin	-- 编写业务逻辑end;

三、语法代码

dbms_output.put_line();相当于Java当中的System.out.printf("");
declare        i  varchar2(10) := '张三';begin   dbms_output.put_line(i);end;

在这里插入图片描述

四、查询7369的工资,并且大于出来

vsal emp.sal%type; --引用型的变量
declare	vsal emp.sal%type;begin	select sal from emp where empno = 7369;end;

在这里插入图片描述

在这里插入图片描述

vrow emp%rowtype;   -- 声明记录型变量
declare   vrow emp%rowtype; -- 行类型一行记录begin   select * into vrow from emp where empno = 7369;	dbms_output.put_line('姓名:'|| vrow.ename || '工资' || vrow.sal);end;

在这里插入图片描述

输出结果
在这里插入图片描述

五、PLSQL当中的条件判断

1、根据不同年级输出相关内容

declare 	age number := 20;begin 	if age  < 18 then 		dbms_output.put_line('小屁孩');	elsif age >= 18 and age <= 24 then 		dbms_output.put_line('年轻人');	elsif age > 24 and age < 40 then 		dbms_output.put_line('中年人');	else 		dbms_output.put_line('老年人');	end if;end;

在这里插入图片描述

在这里插入图片描述

2、当age number := &aaa;的时候,代表一个未知的变量,需要手动输入

declare 	age number := &aaa;begin 	if age  < 18 then 		dbms_output.put_line('小屁孩');	elsif age >= 18 and age <= 24 then 		dbms_output.put_line('年轻人');	elsif age > 24 and age < 40 then 		dbms_output.put_line('中年人');	else 		dbms_output.put_line('老年人');	end if;end;

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

六、PLSQL的循环

1、while循环

(1)语法
while 条件 loopend loop;
(2)输出1-10
declare	i number := 1;begin    while i <= 10 loop 		dbms_output.put_line(i);		i:=i+1;	    end loop;end;

在这里插入图片描述

2、for循环:

(1)语法
for 变量 in 起始值.. 结束值 loop end loop;
(2)输出1-10
declare begin	for i in 1..10 loop		dbms_output.put_line(i);	end loop;end;

在这里插入图片描述

(3)倒叙输出输出1-10
declare begin	for i in reverse 1..10 loop		dbms_output.put_line(i);	end loop;end;

在这里插入图片描述

3、loop循环:

(1)语法
loop 	exit when 条件end loop;
(2)输出1-10
declare	i number :=1; begin	loop 		exit when i > 10;    dbms_output.put_line(i);		i := i + 1;	end loop;end;

在这里插入图片描述

在这里插入图片描述

4、用*号输出菱形

*     ***    *****     ***      *

使用PLSQL输出菱形

在这里插入图片描述

declare   m number := 2;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;                dbms_output.new_line();   end loop;end;

在这里插入图片描述

5、使用PLSQL输出三角形,只要是三个角

-- 使用PLSQL输出三角形,只要是三个角declare   m number := 20;begin  for x in -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;                dbms_output.new_line();   end loop;  end;

在这里插入图片描述

在这里插入图片描述

转载地址:https://code100.blog.csdn.net/article/details/108533061 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:ORACLE使用来模拟ID自动增长(序列)
下一篇:Oracle快速入门(序列、索引)

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年04月16日 13时59分13秒