数据库系统概论 课件 第8章_数据库编程.ppt

数据库系统概论 课件 第8章_数据库编程.ppt

  1. 1、本文档共181页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库系统概论 课件 第8章_数据库编程

An Introduction to Database System 第8章 数据库编程 8.1 嵌入式SQL 8.2 存储过程 8.3 ODBC编程 8.1 嵌 入 式 SQL SQL语言提供了两种不同的使用方式: 交互式——独立的数据语言,直接以交互方式使用 嵌入式——作为子语言,嵌入在宿主语言中使用 为什么要引入嵌入式SQL SQL语言是非过程性语言 事务处理应用都是过程性的,需要高级语言 这两种方式细节上有差别,在程序设计的环境下,SQL语句要做某些必要的扩充 8.1.1 嵌入式SQL的处理过程 RDBMS处理宿主型数据库语言SQL的方法 预编译(C+ESQL ? C ?目标码) 修改和扩充主语言使之能处理SQL语句 预编译 1.由RDBMS的预处理程序对源程序进行扫描,识别出ESQL语句 2.把它们转换成主语言调用语句,以使主语言编译程序能识别它们 3.最后由主语言的编译程序将整个源程序编译成目标码。 嵌入了SQL的应用程序的执行过程 宿主语言 ? 嵌入式SQL ? 预处理程序 ? 宿主语言 ? 函数调用 SQL函数定义库 ? 宿主语言编译程序 ? 目标程序 源程序处理过程 嵌入式SQL的一般形式 为了区分SQL语句与主语言语句,需要: 前缀:EXEC SQL 结束标志:; 以C为主语言的嵌入式SQL语句的一般形式 EXEC SQL SQL语句; 例:EXEC SQL DROP TABLE Student ; 嵌入SQL语句 说明性语句 嵌入SQL语句 数据定义 可执行语句 数据控制 数据操纵 允许出现可执行的高级语言语句的地方,都可以写可执行SQL语句 允许出现说明语句的地方,都可以写说明性SQL语句 8.1.2 嵌入式SQL语句与主语言之间的通信 将SQL嵌入到高级语言中混合编程,程序中会含有两种不同计算模型的语句 SQL语句 描述性的面向集合的语句 负责操纵数据库 高级语言语句 过程性的面向记录的语句 负责控制程序流程 数据库工作单元与源程序工作单元 之间的通信方式 1. SQL通信区——SQLCA 向主语言传递SQL语句的执行状态信息 使主语言能够据此控制程序流程 2. 主变量 主语言向SQL语句提供参数 将SQL语句查询数据库的结果交主语言进一步处理 3. 游标 解决集合性操作语言与过程性操作语言的不匹配 8.1.2 嵌入式SQL语句与主语言之间的通信 一、SQL通信区 SQLCA:SQL Communication Area SQLCA是一个数据结构 1、SQLCA的用途 SQL语句执行后,RDBMS反馈给应用程序信息 描述系统当前工作状态 描述运行环境 这些信息将送到SQL通信区SQLCA中 应用程序从SQLCA中取出这些状态信息,据此决定接下来执行的语句 2、SQLCA的内容 与所执行的SQL语句有关 与该SQL语句的执行情况有关 例:在执行删除语句DELETE后,不同的执行情况,SQLCA中有不同的信息: 违反数据保护规则,操作拒绝 没有满足条件的行,一行也没有删除 成功删除,并有删除的行数 无条件删除警告信息 由于各种原因,执行出错 3、SQLCA的使用方法 定义SQLCA 在应用程序中用EXEC SQL INCLUDE SQLCA加以定义 使用SQLCA SQLCA中有一个存放每次执行SQL语句后返回代码的变量SQLCODE 如果SQLCODE等于预定义的常量SUCCESS,则表示SQL语句成功,否则表示出错 应用程序每执行完一条SQL 语句之后都应该测试一下SQLCODE的值,以了解该SQL语句执行情况并做相应处理 二、主变量 什么是主变量 嵌入式SQL语句中可以使用主语言的程序变量来输入或输出数据 在SQL语句中使用的主语言程序变量简称为主变量(Host Variable) 二、主变量 主变量的类型 输入主变量 由应用程序对其赋值,SQL语句引用 输出主变量 由SQL语句赋值或设置状态信息,返回给应用程序 一个主变量有可能既是输入主变量又是输出主变量 二、主变量 主变量的用途 输入主变量 指定向数据库中插入的数据 将数据库中的数据修改为指定值 指定WHERE子句或HAVING子句中的条件 输出主变量 获取SQL语句的结果数据 获取SQL语句的执行状态 二、主变量 指示变量 一个主变量可以附带一个指示变量(Indicator Variable) 什么是指示变量 整型变量 用来“

文档评论(0)

小教资源库 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档