首先明确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;

05-04 00:52