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 只有英文版本


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3