首先明确PL/SQL主要作用作用:
SQL语言适合管理关系型数据库但是它无法满足更复杂的数据处理,所以产生PLSQL。PLSQL用户创建存储过程、函数、触发器、包及用户自定义的函数。
特点:
PLSQL具有高级语言所拥有的编程结构,使用PLSQL可以极大的提高数据库编程的灵活性,PLSQL不是独立存在的,他是Oracle服务器的一部分,可以再客户端和服务器端运行。
PLSQL的应用环境:客户端和服务器端
PLSQL基本结构:
块头区
IS
声明区
Begin
执行区
Exception
异常区
块头区:块头区包含程序单元名字和参数,其中程序单元名字可以是函数(function),存储过程(procedure),包(package-package body),参数具有一定的数据类型,该参数分为三类:in(输入) out(输出) inout(双向的)
相对于函数必须有返回值
Create or replace function function_name(f float)
Return float
存储过程是没有返回值
Create or replcae procedure procedure_name (name in varchar2)
声明区:
Plsql用到的一些变量等都在声明区进行声明,变量的数据类型可以是任意的Oracle数据类型,还可以进行constraint约束,比如非空等 not null
例子:
Var varchar2(10);
Var varchar2(10) not null;
Var varchar2(10) := ‘hello’;
Var integer default 3.14;
执行区:
用于完成该程序单元的功能逻辑Begin end作为起始标识可以包含null 但是不能为空
异常区:抛出异常
Exception
when exception_name1 then
error1;
when others then
error2;
整体实例:
Declare
var_first varchar2(10);--变量声明
var_last varchar2(10);
BEGIN
select first_name,last_name
into var_first,var_last from emp;
dbms_output.put_line(‘first_name’||var_first);
dbms_output.put_line(‘last_name’||var_last);--dbms_output.put_line返回信息
EXCEPTION --异常区
WHEN no_data_found THEN
dbms_output.put_line('no data found');
END;