购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.1.3 PL/SQL的结构

PL/SQL程序以语句块(block)为单位,每个语句块由声明部分、执行语句和异常处理部分组成,定义如下:

关于语句块更为详细的描述,将在第2章讲述。基本的代码单元是语句块,语句块是可以嵌套的,即嵌套另一个PL/SQL语句块,每个语句块完成特定的功能。

PL/SQL语句块按照是否在数据库中存储分为两种:匿名块和命名块。

1.匿名块

匿名块指的是没有名称、不在数据库中存储,不能被其他程序调用,但可以调用其他子程序的PL/SQL程序。PL/SQL匿名块每次执行时都需要程序的源代码,先编译后执行。因为匿名块可以有它自己的声明和异常处理部分,所以开发人员经常会在一个大的程序中嵌套一些匿名块,以提供一系列的标识符和异常处理。

定义PL/SQL匿名块的通用语法与块结构一致,声明和异常部分是可选的,执行部分是必须存在的,在KingbaseES中可以没有任何语句。

2.命名块

命名块通常指的是存储在数据库中可以多次执行的PL/SQL程序,包括函数、存储过程、包、触发器等。它们编译后放在数据库服务器中,由应用程序或系统在特定条件下调用执行。大多数编写的代码还是以命名块的形式出现。

命名块与匿名块的不同之处在于,命名块是存储在数据库中可以多次执行的PL/SQL程序。

示例1.1: PL/SQL匿名块程序。

功能描述: 查询adminaddrs表中“中华人民共和国”的编码id。

程序代码如下。

示例1.2: PL/SQL命名块程序。

功能描述: 将查找地址编码id的操作封装成searchaddID过程,然后可反复调用该命名块。

程序代码如下。

调用该过程的代码如下。

程序运行结果如下。 GFFXcGa7H8zufMZe2lj7DZLJBAwgWFKqbHj2pO7wQ5gDMhfKuBukBBHlDK9Vfwm7

点击中间区域
呼出菜单
上一章
目录
下一章
×