Oracle扩展PL/SQL编程简介-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

Oracle扩展PL/SQL编程简介

简介:

 基本的SQL语句时极其常用的,但相对于SQL而言Oracle公司在SQL基础上引入一种过程化编程语言.PL/SQL(Producedural Language/SQL).PL/SQL构建于SQL自上.可以用来编写SQL语句的程序.PL/SQL是第三代语言.Oracle在此集成之上做的扩展.

(A)PL/SQL基本概念:

PL/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL. PL/SQL是Oracle数据库对SQL语句的扩展。在普通SQL语句的使用上增加了编程语言的特点,所以PL/SQL就是把数据操作和查询语句组织在PL/SQL代码的过程性单元中,通过逻辑判断、循环等操作实现复杂的功能或者计算的程序语言.

(B)PL/SQL的作用:

使用PL/SQL可以编写具有很多高级功能的程序,虽然通过多个SQL语句可能也能实现同样的功能,但是相比而言,PL/SQL具有更为明显的一些优点:
(1).能够使一组SQL语句的功能更具模块化程序特点;
(2).采用了过程性语言控制程序的结构;
(3).可以对程序中的错误进行自动处理,使程序能够在遇到错误的时候不会被中断;
(4).具有较好的可移植性,可以移植到另一个Oracle数据库中。
(5).集成在数据库中,调用更快.
(6).减少了网络的交互,有助于提高程序性能.
通过多条SQL语句实现功能时,每条语句都需要在客户端和服务端传递,而且每条语句的执行结果也需要在网络中进行交互,占用了大量的网络带宽,消耗了大量网络传递的时间,而在网络中传输的那些结果,往往都是中间结果,而不是我们所关心的。

 

而使用PL/SQL程序是,因为程序代码存储在数据库中,程序的分析和执行完全在数据库内部进行,用户所需要做的就是在客户端发出调用PL/SQL的执行命令,数据库接收到执行命令后,在数据库内部完成整个PL/SQL程序的执行,并将最终的执行结果返回给用户。在整个过程中网络里只传输了很少的数据,减少了网络传输占用的时间,所以整体程序的执行性能会有明显的提高.

(C)PL/SQL程序的基本结构:

 

 

PL/SQL块由四个基本部分组成:声明、执行体开始、异常处理、执行体结束.下面是四个部分的基本结构:

DECLARE—可选部分:变量、常量、游标、用户定义异常的声明

 ……

 

BEGIN—必要部分:SQL语句和PL/SQL语句构成的执行程序

 

 ……

 

EXCEPTION—可选部分:程序出现异常时,捕捉异常并处理异常

 

   ……

END;—必须部分
在数据库执行PL/SQL程序时,PL/SQL语句和SQL语句是分别进行解析和执行的。 PL/SQL块被数据库内部的PL/SQL引擎提取,将SQL语句取出送给Oracle的SQL引擎处理,两种语句分别在两种引擎中分析处理,在数据库内部完成数据交互、处理过程.

(D)PL/SQL程序在Oracle 10G中的包含内容:

本机上装的的Oracle  10G版本. 在Oracle 10G中包含这类语言的标准编程结构. 例如:

(1)块结构:

(2)变量和类型

(3)条件逻辑

(4)循环处理

(5)游标: Oracle中保存着查询返回的结果.

(6)过程

(7)函数

(8)包: Oralce中主要用来将过程和函数封装组合到一个单元中去.

通常PL/SQL用于向数据库中加入业务逻辑.这种集中化的代码可以由任何能够访问数据库的程序调用. 因为PL/SQL是基于SQL标准自上的. 其中包括SQL*PLus。C程序/Java程序等.

最后推荐各位一本关于Oracle中PL/SQL编程经典书籍;Oracle Database 10G PL/SQL Programming. 中文版已经出版. Orcale 11G 只有英文版本.




本文转自chenkaiunion 51CTO博客,原文链接:http://blog.51cto.com/chenkai/765103

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章
最新文章
相关文章