预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10
亲,该文档总共69页,到这已经超出免费预览范围,如果喜欢就直接下载吧~
如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
PL/SQL编程
第二章PL/SQL编程
本章学习目标
本章将讲述PL/SQL基础语法,结构和组
件、以及如何设计并执行一个PL/SQL程
序。
本章内容安排
2.1PL/SQL简介
2.2PL/SQL语法
2.3存储过程
2.4触发器
2.5游标
2.6包
2.7函数
2.1PL/SQL简介
2.1.1PL/SQL特点
2.1.2开发及运行环境
2.1.1PL/SQL特点
1.PL/SQL的优点
(1)PL/SQL是一种高性能的基于事务处理的语言,能运行在任何Oracle
环境中,支持所有数据处理命令。通过使用PL/SQL程序单元处理SQL的
数据定义和数据控制元素。
(2)PL/SQL支持所有SQL数据类型和所有SQL函数,同时支持所有
Oracle对象类型。
(3)PL/SQL块可以被命名和存储在Oracle服务器中,同时也能被其他的
PL/SQL程序或SQL命令调用,任何客户/服务器工具都能访问PL/SQL程
序,具有很好的可重用性。
(2)可以使用Oracle数据工具管理存储在服务器中的PL/SQL程序的安全
性。可以授权或撤销数据库其他用户访问PL/SQL程序的能力。
(5)PL/SQL代码可以使用任何ASCII文本编辑器编写,所以对任何
Oracle能够运行的操作系统都是非常便利的。
2.PL/SQL的缺点
对于SQL,Oracle必须在同一时间处理每一条SQL语句,在网络环境下
这就意味作每一个独立的调用都必须被oracle服务器处理,这就占用大
量的服务器时间,同时导致网络拥挤。而PL/SQL是以整个语句块发给
服务器,这就降低了网络拥挤。
2.1.2开发及运行环境
服务器端PL/SQL不需要显式的安装或许可。它是Oracle9i
数据库的隐式部分,此处有相应的文档。
PL/SQL编译器和解释器也嵌入到OracleDeveloper中,为
开发者在客户端和服务器端提供一致的、可利用的开发模
型。
2.2PL/SQL语法
2.2.1PL/SQL块
2.2.2常量与变量
2.2.3数据类型
2.2.4运算符
2.2.5流程控制
2.2.6异常处理
2.2.1PL/SQL块
1.块结构
2、块的命名和匿名
3、块的执行
1.块结构
PL/SQL是一种块结构的语言,组成PL/SQL程序的单元是逻辑块,
一个PL/SQL程序包含了一个或多个逻辑块,每个块都可以划分为三个
部分。
(1)块的三个部分
①声明部分(Declarationsection)
声明部分包含了变量和常量的数据类型和初始值。这个部分是由关键字
DECLARE开始,如果不需要声明变量或常量,那么可以忽略这一部分。
②执行部分(Executablesection)
执行部分是PL/SQL块中的指令部分,由关键字BEGIN开始,所有的可
执行语句都放在这一部分,其他的PL/SQL块也可以放在这一部分。
③异常处理部分(Exceptionsection)
这一部分是可选的,在这一部分中处理异常或错误,对异常处理的详细
讨论在后面进行。
(2)PL/SQL块语法
PL/SQL块语法结构如下:
[DECLARE]
declarationstatements
BEGIN
executablestatements
[EXCEPTION]
exceptionstatements
END
例:
declare
in_idnumber(2);in_namevarchar2(20);
begin
in_id:=1;in_name:=‘James’;
updatetestsett_name=in_namewheret_id=in_id;
end;
/
PL/SQL块中的每一条语句都必须以分号结束,SQL语句可以多行,但分
号表示该语句的结束。一行中可以有多条SQL语句,他们之间以分号分隔。
每一个PL/SQL块由BEGIN或DECLARE开始,以END结束。注释由--标示。
2.块的命名和匿名
PL/SQL程序块可以是一个命名的程序块也可以是一个匿名程序块,
匿名程序块可以用在服务器端也可以用在客户端。
执行部分包含了所有的语句和表达式,执行部分以关键字BEGIN开
始,以关键字EXCEPTION结束,如果EXCEPTION不存在,那么将以
关键字END结束。分号分隔每一条语句,使用赋值操作符:=或SELECT
INTO或FETCHINTO给每个变量赋值,执行部分的错误将在异常处理
部分解决,在执行部分中可以使用另一个PL/SQL程序块,这种程序块
被称为嵌套块。
所有的SQL数据操作语句都可以用于执行部分,PL/SQL块不能在屏
幕上显示SELECT语句的输出。SELECT语句必须包括一个INTO子串或
者是游