1 / 20
文档名称:

数据库系统概论.ppt

格式:ppt   页数:20
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据库系统概论.ppt

上传人:kisuamd347 2015/10/29 文件大小:0 KB

下载得到文件列表

数据库系统概论.ppt

文档介绍

文档介绍:数据库系统概论
An Introduction to Database System

第八章数据库编程
An Introduction to Database System

SQL语句除了象前面介绍的可以交互的方式使用的外,更常用的方式是用某种传统的编程语言(例如:C、PB、COBOL等)编写程序,但程序中的某些函数或某些语句是SQL语句。这种方式下使用的SQL语言称为嵌入式SQL(EmbeddedSQL),其中传统的编程语言称为宿主语言(或主语言)。
An Introduction to Database System

对嵌入到高级语言中的SQL语句,必需能够与宿主语言语句区分开来,例如Power Builder中采用的区分方式是在SQL语句后加上分号“;”。
而大多数的宿主语言在SQL前加上EXEC SQL标记,而结束标记各有不同。
在识别出嵌入式SQL后,DBMS可以采用两种方法处理嵌入式SQL语言:
预编译
扩充编译程序法。
An Introduction to Database System
嵌入式SQL的处理过程
主语言程序
含ESQL语句
RDBMS的
预处理程序
ESQL语句转换
为函数调用
主语言
编译程序
目标语言程序
ESQL基本处理过程
An Introduction to Database System
嵌入式SQL与主语言之间的通信
SQL为面向集合的语句,而主语言为面向过程的语句,必需解决好二者的通信问题。
An Introduction to Database System
一、SQL通信区
在主变量中,有一个系统定义的主变量,叫SQLCA(munication Area:SQL通信区)。SQLCA是一全局变量,供应用程序和DBMS通信之用。SQLCA变量不需加以说明,在Power Builder中可以直接使用。
例如SQLCA对象的SQLCODE的值可以返回SQL语句是否执行成功,而SQLErrText可以返回出错的原因。
An Introduction to Database System
二、主变量
在DBMS和宿主语言程序之间的数据传递,是通过宿主语言程序变量,简称主变量来实现的。
当SQL语句引用主变量时,变量前应加冒号“:”,以区别于数据库对象名(如:列名、表名、视图名等),因此主变量可与数据库变量同名。在宿主语言中引用主变量时,不须加冒号。通过主变量,宿主语言可向SQL语句提供参数,如指定向数据库中插入(或修改)的数据;
An Introduction to Database System
另外,SQL语句可对主变量赋值或设置状态信息,返回给应用程序,使应用程序得到SQL语句的结果和状态。
在嵌入式程序中,所有的主变量,除系统定义的外,都必须加以说明,说明放在两个嵌入式SQL语句之间:
EXEC SQL BEGIN DECLARE SECTION;

EXEC SQL END DECLARE SECTION;
提示:
Power Builder定义方法与普通变量一样,无需放在上述结构中。
An Introduction to Database System
三、游标
SQL语言和宿主语言的不同数据处理方式,是通过游标(Cursor)来协调的。游标是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。每个游标都有一个名字。用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,由宿主语言作进一步的处理。
游标的操作包括四个步骤:
An Introduction to Database System
1. 说明游标
格式:
EXEC SQL DECLARE 游标名CURSOR
FOR<SELECT语句>;
其中的SELECT语句,既可以是简单查询,也可以是连接查询或嵌套查询,它的结果集是一个新的关系。
说明游标仅仅是一条说明性语句,此时DBMS并不执行SELECT指定的查询操作。
An Introduction to Database System