- 2
- 0
- 约1.96万字
- 约 129页
- 2019-05-06 发布于广东
- 举报
An Introduction to Database System 信息科学与技术学院计算机系 第八章 数据库编程 8.1 嵌入式SQL 8.2 存储过程 8.3 ODBC编程 8.1 嵌 入 式 SQL 8.1.1 嵌入式SQL的处理过程 8.1.2 嵌入式SQL语句与主语言之间的通信 8.1.3 不用游标的SQL语句 8.1.4 使用游标的SQL语句 8.1.5 动态SQL简介 8.1.6 小结 8.1 嵌 入 式 SQL SQL语言提供了两种不同的使用方式: 交互式 嵌入式 为什么要引入嵌入式SQL SQL语言是非过程性语言 事务处理应用需要高级语言 这两种方式细节上有差别,在程序设计的环境下,SQL语句要做某些必要的扩充 8.1.1 嵌入式SQL的处理过程 为了区分SQL语句与主语言语句,需要: 前缀:EXEC SQL 结束标志:随主语言的不同而不同 以C为主语言的嵌入式SQL语句的一般形式 EXEC SQL SQL语句; 例:EXEC SQL DROP TABLE Student; 以COBOL作为主语言的嵌入式SQL语句的一般形式 EXEC SQL SQL语句 END-EXEC 例: EXEC SQL DROP TABLE Student END-EXEC DBMS处理宿主型数据库语言SQL 的方法 预编译 修改和扩充主语言使之能处理SQL语句 预编译 1.由DBMS的预处理程序对源程序进行扫描,识别出SQL语句 2.把它们转换成主语言调用语句,以使主语言编译程序能识别它 3.最后由主语言的编译程序将整个源程序编译成目标码。 8.1 嵌 入 式 SQL 8.1.1 嵌入式SQL的处理过程 8.1.2 嵌入式SQL语句与主语言之间的通信 8.1.3 不用游标的SQL语句 8.1.4 使用游标的SQL语句 8.1.5 动态SQL简介 8.1.6 小结 8.1.2 嵌入式SQL语句与主语言之间的通信 将SQL嵌入到高级语言中混合编程,程序中会含 有两种不同计算模型的语句 SQL语句 描述性的面向集合的语句 负责操纵数据库 高级语言语句 过程性的面向记录的语句 负责控制程序流程 工作单元之间的通信方式 1. SQL通信区 向主语言传递SQL语句的执行状态信息 主语言能够据此控制程序流程 2. 主变量 1)主语言向SQL语句提供参数 2)将SQL语句查询数据库的结果交主语言进一步处理 3. 游标 解决集合性操作语言与过程性操作语言的不匹配 1. SQL通信区 SQLCA: SQL Communication Area SQLCA是一个数据结构 SQLCA的用途 SQL语句执行后,DBMS反馈给应用程序信息 描述系统当前工作状态 描述运行环境 这些信息将送到SQL通信区SQLCA中 应用程序从SQLCA中取出这些状态信息,据此决定接下来执行的语句 SQLCA的内容 与所执行的SQL语句有关 与该SQL语句的执行情况有关 例:在执行删除语句DELETE后,不同的执行情况,SQLCA中有不同的信息: 违反数据保护规则,操作拒绝 没有满足条件的行,一行也没有删除 成功删除,并有删除的行数 无条件删除警告信息 由于各种原因,执行出错 SQLCA的使用方法 定义SQLCA 用EXEC SQL INCLUDE SQLCA加以定义 使用SQLCA SQLCA中有一个存放每次执行SQL语句后返回代码的变量SQLCODE 如果SQLCODE等于预定义的常量SUCCESS,则表示SQL语句成功,否则表示出错 应用程序每执行完一条SQL 语句之后都应该测试一下SQLCODE的值,以了解该SQL语句执行情况并做相应处理 2. 主变量 什么是主变量 嵌入式SQL语句中可以使用主语言的程序变量来输入或输出数据 在SQL语句中使用的主语言程序变量简称为主变量(Host Variable) 主变量(续) 主变量的类型 输入主变量 由应用程序对其赋值,SQL语句引用 输出主变量 由SQL语句赋值或设置状态信息,返回给应用程序 一个主变量有可能既是输入主变量又是输出主变量 主变量(续) 主变量的用途 输入主变量 指定向数据库中插入的数据 将数据库中的数据修改为指定值 指定执行的操作 指定WHERE子句或HAVING子句中的条件 输出主变量 获取SQL语句的结果数据 获取SQL语句的执行状态 主变量(续) 指示变量 一个主变量可以附带一个指示变量(Indicator Variable) 什么是指示变量 整型变量 用来“指示”所指主变量的值或条件 指示变量的用途 输入主变量可以利用指示变量赋空值 输出
您可能关注的文档
- 安徽师范大学美术学院美术史课件第五章 文艺复兴的美术.ppt
- 安徽师范大学数计学院《计算机组成原理》教学课件:第二章 计算机的逻辑部件.ppt
- 安徽师范大学数计学院《计算机组成原理》教学课件:第六章 中央处理部件.ppt
- 安徽师范大学数计学院《计算机组成原理》教学课件:第三章 运算方法和运算部件.ppt
- 安徽师范大学数计学院《计算机组成原理》教学课件:第四章 主存储器与存储体系.ppt
- 安徽师范大学外国美术史课件第六章 威尼斯、尼德兰画派和德国文艺复兴等.ppt
- 安徽师范大学外国美术史课件第七章 17世纪欧洲美术:巴洛克.ppt
- 安徽师范大学现代通信原理课件第八章 数字信号的最佳接收.ppt
- 安徽师范大学现代通信原理课件第九(1)章 差错控制编码.ppt
- 安徽师范大学现代通信原理课件第九(2)章 模拟信号的数字传输.ppt
最近下载
- 框架桥(涵)工程监理实施细则.doc
- 2024-2030年生物基高级相变材料(PCM)行业市场现状供需分析及市场深度研究发展前景及规划投资研究报告.docx
- 宿舍楼某学校学生宿舍楼设计.doc VIP
- 九年义务教育控辍保学工作方案.doc VIP
- 2025年安徽中考语文试卷及答案出炉 .pdf VIP
- KA 25-2025 煤矿井下机电设备完好性要求.docx VIP
- 劳动合同中止期间的工资支付与社保缴纳义务.docx VIP
- T BALI 003—2023 节律照明灯具性能要求.pdf VIP
- 2012年江苏高考数学试卷真题及答案.doc VIP
- 高中地理野外实践活动与乡土文化传承的结合研究教学研究课题报告.docx
原创力文档

文档评论(0)