4-使用PL/SQL&自定义函数.
一、PL/SQL概述
-
PL/SQL是过程语言(Procedural Language)与结构化查询语言(SQL)结合而成的编程语言(过程化SQL语言);
-
PL/SQL是Oracle对SQL语言的扩展,扩展部分内容:变量、常量、存储过程、程序包、游标、函数、触发器、条件控制、循环控制等;
-
PL/SQL与Oracle服务器和Oracle工具紧密集成,具备可移植性、灵活性和安全性;
-
PL/SQL语法特点:PL/SQL程序都是以块(block)为基本单位,整个PL/SQL块分三部分:声明部分(用declare开头)、执行部分(以 begin开头,以end结尾)和异常处理部分(以Exception开头)。其中执行部分是必须的,其他两个部分可选。无论PL/SQL程序段的代码量有多大,其基本结构就是由这三部分组成。
二、变量和常量
2.1变量
declare
变量名 数据类型;
begin
执行代码块内容;
end;
2.2赋值方式
方式一:“:=”
方式二:“select into 语句”
2.3常量
decare
变量名1 constant 数据类型 := 值;
begin
执行代码块内容;
end;
2.4常量和变量的区别
常量声明的时候要在数据类型前面加 constant 关键字,表示常量的意思;
常量必须初始值,且值不能被修改;
三、%type和%rowtype
3.1 %type
- 作用:用来引用数据表里面某个字段的数据类型;
通俗解释:当我们想要声明一个变量来保存表内某个字段值但是又不知道该变量用什么数据类型的时候,我们就可以引用表内该字段的数据类型来作为变量的数据类型。
3.2 %rowtype
作用:可以声明一个基于表的行对象,也称为记录对象。
四、控制结构
4.1 if语句
语法结构:
if(条件1) then
条件1成立执行代码块
elsif(条件2) then
条件2成立执行代码块
…
else
以上条件都不成立执行代码块
end if;
4.2 case语句
语法结构:
begin
case ‘&变量’
when ‘值1’ then 执行代码块1;
when ‘值2’ then 执行代码块2;
when ‘值3’ then 执行代码块3;
when ‘值4’ then 执行代码块4;
…
else 当以上值都不满足的时候执行代码块
end case;
end;
“&”:作用相等于Java里面的Scanner;
4.3循环控制语句
loop循环.
案例1