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;

Oracle快速入门(PLSQL编程)_第1张图片

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

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

Oracle快速入门(PLSQL编程)_第2张图片

Oracle快速入门(PLSQL编程)_第3张图片

 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;

Oracle快速入门(PLSQL编程)_第4张图片
输出结果
Oracle快速入门(PLSQL编程)_第5张图片

五、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;

Oracle快速入门(PLSQL编程)_第6张图片
Oracle快速入门(PLSQL编程)_第7张图片

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;

Oracle快速入门(PLSQL编程)_第8张图片

Oracle快速入门(PLSQL编程)_第9张图片
Oracle快速入门(PLSQL编程)_第10张图片

Oracle快速入门(PLSQL编程)_第11张图片

六、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;

Oracle快速入门(PLSQL编程)_第12张图片

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;

Oracle快速入门(PLSQL编程)_第13张图片

(3)倒叙输出输出1-10
declare 

begin
	for i in reverse 1..10 loop
		dbms_output.put_line(i);
	end loop;
end;

Oracle快速入门(PLSQL编程)_第14张图片

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;

Oracle快速入门(PLSQL编程)_第15张图片

Oracle快速入门(PLSQL编程)_第16张图片

4、用*号输出菱形


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

使用PLSQL输出菱形
Oracle快速入门(PLSQL编程)_第17张图片

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;

Oracle快速入门(PLSQL编程)_第18张图片

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;

Oracle快速入门(PLSQL编程)_第19张图片
Oracle快速入门(PLSQL编程)_第20张图片

你可能感兴趣的:(Oracle,java,编程语言,sql)