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

1.3 PL/SQL的运行机制

1.3.1 PL/SQL引擎

PL/SQL程序的编译与执行是通过PL/SQL引擎来完成的。KingbaseES中的PL/SQL引擎当前只支持安装到数据库服务器端。

在任一环境中,PL/SQL引擎都接受任何有效的PL/SQL单元作为输入。PL/SQL引擎执行程序语句,但是会将其中的SQL语句发送到数据库中的SQL引擎去执行,再获取其结果,如图1.4所示。

图1.4 服务器端的PL/SQL引擎

当应用程序开发工具处理PL/SQL单元时,会将它们传递给其本地PL/SQL引擎。如果PL/SQL单元不包含SQL语句,则客户端引擎处理整个PL/SQL单元。如果应用程序开发工具需要条件和迭代控制,PL/SQL单元将会非常有用。具体如图1.5所示。

图1.5 客户端的PL/SQL引擎

通常,如果直接利用SQL语句对数据库进行操作,各种相关数据的值在代码中以常量形式指定。而在PL/SQL中,可以通过变量动态指定各种相关量的值,从而实现对数据库的动态操作。

示例1.3: 在PL/SQL语句中执行SQL语句。

功能描述: 本例中,一个PL/SQL匿名块声明了4个PL/SQL变量,并在静态SQL语句INSERT、UPDATE、SELECT中使用它们。

程序代码如下。

在该程序中,SELECT、INSERT和UPDATE语句是非过程化的SQL语言,完成对数据库的操作;而变量的声明、IF语句的逻辑判断则是过程化语言的应用。

PL/SQL程序中引入了变量、控制结构、函数、过程等一系列过程化结构,为更为复杂的数据库应用程序开发提供了可能。 PBY3O6uQKrD4mwBNs14dXmNwHJaJdPSiWL2Gc7MIaz45ijGBssPy563ev17di04F

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