Oracle快速入门(PLSQL编程)

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 条件 loop
end 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;

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_44757034/article/details/108533061