欢迎来到天天文库
浏览记录
ID:58715771
大小:253.50 KB
页数:56页
时间:2020-10-04
《第08章 数据库编程ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第八章数据库编程8.1嵌入式SQL8.2存储过程8.3ODBC编程8.4小结数据库系统概论山东师范大学信息科学与工程学院引言建立数据库后,就要开发应用系统了。本章讲解应用系统中如何使用编程方法对于数据库进行操纵的技术标准SQL是一种非过程化的查询语言,具有操作统一、面向集合、功能丰富、使用简单等多项优点。但和程序设计语言相比,高度非过程化的优点同时也造成了它的一个弱点:缺少流程控制能力,难以实现应用业务中的逻辑控制。SQL编程技术可以有效克服SQL语言实现复杂应用方面的不足,提高应用系统和RDBMS间的互操作性应用系统中使用SQL编程来访问和管理数据库中数据的方式
2、主要有:嵌入式SQL(EmbededSQL,ESQL)PL/SQL(ProceduralLanguage/SQL)ODBC(OpenDataBaseConnectivity)编程JDBC(JavaDataBaseConnectivity)编程OLEDB(ObjectLinkingandEmbeddingDB)编程本章介绍嵌入式SQL、PL/SQL和ODBC编程,JDBC和OLEDB编程与ODBC编程思路基本一致,本章就不作介绍了1《数据库系统概论》第八章数据库编程8.1嵌入式SQLSQL语言提供了两种不同的使用方式(这也是SQL的特点之一):交互式嵌入式为什么要引
3、入嵌入式SQLSQL在两种不同的使用方式下语法结构基本一致SQL语言是非过程性语言,事务处理应用需要高级语言,需要将SQL语句嵌入到程序设计语言中当然,这两种方式细节上有差别,在程序设计的环境下,SQL语句要做某些必要的扩充2《数据库系统概论》第八章数据库编程一、嵌入式SQL的处理过程主语言:嵌入式SQL是将SQL语句嵌入程序设计语言中,被嵌入的程序设计语言,如C、C++、Java,称为宿主语言,简称主语言处理过程:预编译方法为了区分SQL语句与主语言语句,所有SQL语句必须加前缀EXECSQL,以(;)结束:EXECSQL;主语言程序含ESQL语
4、句RDBMS的预处理程序ESQL语句转换为函数调用主语言编译程序目标语言程序ESQL基本处理过程预编译:1、由DBMS的预处理程序对源程序进行扫描,识别出SQL语句2、把它们转换成主语言调用语句,以使主语言编译程序能识别它3、最后由主语言的编译程序将整个源程序编译成目标码3《数据库系统概论》第八章数据库编程二、嵌入式SQL与主语言的通信将SQL嵌入到高级语言中混合编程,程序中会含有两种不同计算模型的语句SQL语句描述性的面向集合的语句负责操纵数据库高级语言语句过程性的面向记录的语句负责控制程序流程它们之间应该如何通信?数据库工作单元与源程序工作单元之间的通信:SQ
5、L通信区——SQLCommunicationArea,简称SQLCA向主语言传递SQL语句的执行状态信息使主语言能够据此控制程序流程主变量——HostVariable主语言向SQL语句提供参数游标——Cursor将SQL语句查询数据库的结果交主语言进一步处理主要用主编量和游标实现解决集合性操作语言与过程性操作语言的不匹配4《数据库系统概论》第八章数据库编程1、SQL通信区SQLCA是一个数据结构SQLCA的用途SQL语句执行后,RDBMS反馈给应用程序信息描述系统当前工作状态描述运行环境这些信息将送到SQL通信区SQLCA中应用程序从SQLCA中取出这些状态信息,
6、据此决定后续执行语句SQLCA使用方法:定义SQLCA:用EXECSQLINCLUDESQLCA定义使用SQLCASQLCA中有一个存放每次执行SQL语句后返回代码的变量SQLCODE如果SQLCODE等于预定义的常量SUCCESS,则表示SQL语句成功,否则表示出错应用程序每执行完一条SQL语句之后都应该测试一下SQLCODE的值,以了解该SQL语句执行情况并做相应处理5《数据库系统概论》第八章数据库编程2、主变量主变量嵌入式SQL语句中可以使用主语言的程序变量来输入或输出数据在SQL语句中使用的主语言程序变量简称为主变量(HostVariable)主变量的类型
7、输入主变量输出主变量一个主变量有可能既是输入主变量又是输出主变量指示变量:一个主变量可以附带一个指示变量(IndicatorVariable)什么是指示变量:指示变量是一个整型变量,用来“指示”所指主变量的值或条件指示变量的用途:指示变量可以指示输入主变量是否为空值,可以检测输出主变量是否空值,值是否被截断6《数据库系统概论》第八章数据库编程使用主变量和指示变量的方法在SQL语句中使用主变量和指示变量的方法说明主变量和指示变量BEGINDECLARESECTION.........(说明主变量和指示变量)ENDDECLARESECTION使用主变量说明之后的主变量
8、可以在SQ
此文档下载收益归作者所有