您的位置:首页 > 数据库 > Oracle

[DB]读书笔记:Oracle下的PL/SQL--1

2007-06-11 23:46 411 查看
================================〖读书笔记〗=====================================
PL/SQL 优点
1、高性能 基于事务的处理语言 Oracle下支持所有数据处理命令
2、支持所有SQL数据类型和所有SQL函数,同时支持所有ORACLE对象类型
3、可重用性好:可以被命名和存储被其他的PL/SQL程序或SQL命令调用,任何客户/服务器工具都能访问PL/SQL程序
4、编写方便 可以使用任何ASCII文本编辑器编写
5、处理能力强:对于SQL,ORACLE必须在同一时间处理每一条SQL语句,在网络环境下这就意味作每一个独立的调用都必须被oracle服务器处理,这就占用大量的服务器时间,同时导致网络拥挤。而PL/SQL是以整个语句块发给服务器,这就降低了网络拥挤
PL/SQL块结构
声明部分(Declaration section) 变量、常量、游标
执行部分(Executable section) BEGIN开始,所有的可执行语句 其他的PL/SQL块
异常处理部分(Exception section) 可选的,处理异常或错误
PL/SQL块语法
[DECLARE]
---declaration statements
BEGIN
---executable statements
[EXCEPTION]
---exception statements
END

PL/SQL块的命名和匿名

匿名程序块可以用在服务器端也可以用在客户端。

命名程序块可以出现在其他PL/SQL程序块的声明部分,这方面比较明显的是子程序,子程序可以在执行部分引用,也可以在异常处理部分引用。

ORACLE提供了四种类型的可存储的程序:

. 函数

. 过程

. 包

. 触发器

1、函数

FUNCTION name [{parameter[,parameter,...])] RETURN datatypes IS
[local declarations]
BEGIN
execute statements
[EXCEPTION
exception handlers]
END [name]

2、过程

接受零个或多个参数作为输入(INPUT)或输出(OUTPUT)、或既作输入又作输出(INOUT),没有返回值

存储过程不能由SQL语句直接使用,只能通过EXECUT命令或PL/SQL程序块内部调用

PROCEDURE name [(parameter[,parameter,...])] IS
[local declarations]
BEGIN
execute statements
[EXCEPTION
exception handlers ]
END [name]

3、包(package)

包其实就是被组合在一起的相关对象的集合,当包中任何函数或存储过程被调用,包就被加载入内存中,包中的任何函数或存储过程的子程序访问速度将大大加快。

  包由两个部分组成:规范和包主体(body),规范描述变量、常量、游标、和子程序,包体完全定义子程序和游标。


4、触发器(trigger)

  触发器与一个表或数据库事件联系在一起的,当一个触发器事件发生时,定义在表上的触发器被触发。


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: