Oracle12c中文版数据库管理、应用与开发实践教程PLSQL编程基础

第7章 PL/SQL编程基础

SQL(Structured Query Language,结构化查询语言)是操作关系型数据库的一种通用语言,但是SQL本身是一种非过程化的语言。SQL不用指明执行的具体方法和途径,而是简单地调用相应语句直接获取结果。因此,SQL不适合在复杂的业务流程下使用,为了解决这个问题,Oracle提供PL/SQL编程,这是一种过程化编程语言,可以实现比较复杂的业务逻辑。

本章介绍PL/SQL编程基础,包括PL/SQL的优缺点、语法结构、变量和常量的声明与使用、字符集、运算符以及流程结构和事务等。

本章学习要点:

“熟悉PL/SQL编程的优缺点

“掌握PL/SQL块的结构组成

“掌握PL/SQL程序的两种注释

“掌握标识符的命名规则

“掌握变量的声明和赋值

“熟悉%TYPE和%ROWTYPE的使用

“熟悉常量的声明和赋值

“了解字符集的概念和查看

“掌握PL/SQL中的运算符

“掌握条件语句和循环语句

“掌握异常处理语句的使用

“熟悉事务的相关语句和使用

“了解Oracle的锁

PL/SQL是Procedure Language/Structured Query Language的缩写。Oracle的SQL是支持ANSI(American National Standards Institute)和ISO92(International Standards Organization)标准的产品。PL/SQL是Oracle数据库对SQL语句的扩展,它现在已经成为一种过程处理语言。

PL/SQL是Oracle对标准数据库语言SQL的过程化扩充,它将数据库技术和过程化

C语言

这两部分可以简称为数据库PL/SQL和工具PL/SQL。

PL/SQL可以嵌套到相应的工具中,客户端程序可以执行本地包含

SQL命令或激活服务器端的PL/SQL程序运行。

编程的优点

可以编写具有很多高级功能的程序,虽然通过多个SQL语句可能也会

PL/SQL具有更为明显的一些优点。

是一种高性能的基于事务处理的语言,能够运行在任何Oracle环境中,

通过使用PL/SQL程序单元处理SQL的数据定义和数据控制元支持所有SQL数据类型和所有SQL函数,同时也支持所有Oracle对象

块可以被命名和存储在Oracle服务器中,同时也能被其他的PL/SQL

任何客户/服务器工具都能访问PL/SQL程序,具有很好的可重用Oracle数据工具管理存储在服务器中的PL/SQL程序的安全性。可以授权或撤销数据库其他用户访问PL/SQL程序的能力。

(5)PL/SQL代码可以使用任何ASCII文本编辑器编写,因此对任何Oracle能够运行的操作系统都是非常便利的。

(6)使用PL/SQL提供的异常处理,开发人员可以集中处理各种Oracle错误和PL/SQL 错误,或处理系统错误与自定义错误,以增强应用程序的健壮性。

2.PL/SQL编程的缺点

Oracle必须在同一时间处理每一行SQL语句,在网络环境下就意味着每一个独立的调用都必须被Oracle服务器处理,这就占用了大量的网络带宽,消耗大量网络传递的时间,同时导致网络排挤。但是,PL/SQL是因为程序代码存储在数据库中,以整个语句块发送给服务器的,在整个过程中网络只传输少量的数据,可以减少网络传输占用的时间,因此整体程序的执行性能会有明显的提高。

3.PL/SQL的语言特性

PL/SQL是一种编程语言,与Java和C#一样,除了有自身独有的数据类型、变量声明和赋值以及流程控制语句外,PL/SQL还有自身的语言特性。

(1)PL/SQL对大小写不敏感,为了良好的程序风格,开发团队都会选择一个合适的编码标准。例如,有的团队规定关键字全部大些,其余的部分小写。

(2)PL/SQL块中的每一条语句都必须以分号结束,SQL语句可以是多行的,但分号表示该语句结束。一行中可以有多条SQL语句,它们之间以分号分隔,但是不推荐一

行中写多条语句。

声明部分包含变量和常量的数据类型和初始值。也可以包含游标、类型以及局部的存储过程和函数等。声明部分由关键字DECLARE开始,如果不需要声明变量或常量,那么可以忽略这一部分。

2.执行部分

执行部分是PL/SQL块中的指令部分,由关键字BEGIN开始,以关键字END结束。所有的可执行语句都放在执行部分,其他的PL/SQL块也可以放在这一部分。执行部分在PL/SQL程序中是必需的,也是PL/SQL程序的主要部分。

3.异常处理部分

异常处理部分可以忽略,在这一部分中处理异常或错误,在7.8节会详细介绍PL/SQL 程序的异常处理。

提示

最简单的PL/SQL块可以不做任何事情,但是在PL/SQL程序中要求,执行部分必须要有一条语句,哪怕这条语句只是编写了一个NULL也行。

注意

注释就是对代码的解释和说明,目的是为了让其他开发人员和自己很容易看懂。为了让其他人一看就知道这段代码是做什么用的。正确的程序注释一般包括序言性注释和功能性注释。序言性注释的主要内容包括模块的接口、数据的描述和模块的功能。模块的功能性注释的主要内容包括程序段的功能、语句的功能和数据的状态。

注释是一个良好程序的重要组成部分。在程序中最好养成添加注释的习惯,使用注释可以使程序更清晰,使开发者或者其他开发人员能够很快地理解程序的含义和思路。PL/SQL提供了两种风格的注释:单行注释和多行注释。

1.单行注释

单行注释使用两个连字符(--)开始,这两个字符间不能有空格或者其他字符。在这个物理行中,从这个连字符开始直到结束的所有文本都会被看作是注释,并被编译器忽略掉。如果这两个连字符出现在一行的开头,整个一行都是注释。语法如下:

--注释代码

相关文档
最新文档