第6.3章 嵌入式SQL补充游标设计.ppt

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

项目管理 copyright: 2008 马建平, 博士. Gene R. Simons, Ph.D. 问题解答 Type = “P” “TR” 区别? Inserted, deleted表的时效? 如何理解主键与外键? 第6章 数据库编程 嵌入式SQL 练习: 显示”王平“同学的学号和电话 查询“数据库设计”课程的任课教师工号 查询马建平授课的数据库设计班中“王一”的成绩 use ma_regi 1 Select id, name,phone from m_student where name=王一 use ma_regi 2 Select instructor$id from section where secton.code=(select code from course where title=“数据库设计”) Select student$id,section$call_no,grade from m_enroll Where m_enroll.section$call_no= (Select call_no from m_section where instructor$id=(select id from m_instructor where name=马建平) and course$code=(select code from m_course where title=数据库设计)) Select student$id,section$call_no,grade from m_enroll where m_enroll.student$id=(select id from m_student where name=王一) and m_enroll.section$call_no= (Select call_no from m_section where instructor$id=(select id from m_instructor where name=马建平) and course$code=(select code from m_course where title=数据库设计)) 10.1 SQL语言的运行环境 SQL有两种使用方式: 终端交互方式下使用--交互式SQL 嵌入在高级语言中使用--嵌入式SQL  (高级语言可以是C,PASCAL,COBOL等,称为宿主语言) 有些操作对于交互式SQL是不可能的任务。 SQL的表达能力相比高级语言有一定的限制,有些数据访问要求单纯使用SQL无法完成。   (1)SQL在逐渐增强自己的表达能力,   (2)太多的扩展会导致优化能力及执行效率的降低。 非声明性动作 实际的应用系统是非常复杂的,数据库访问只是其中一个部件。有些动作如与用户交互、图形化显示数据等只能用高级语言实现。 将SQL访问数据库的能力,与宿主语言的过程化处理的能力进行综合 将SQL语句嵌入宿主语言中 引入变量的使用 嵌入式SQL执行过程 存储设备上的数据库是用SQL语句存取的,数据库和宿主语言程序间信息的传递是通过共享变量实现的。 10.2 嵌入式SQL的使用规定 需要游标的数据操作 需要游标的数据操作 需要游标的数据操作 10.3 嵌入式SQL的使用技术 不需要游标的数据操作 (2)涉及游标的SQL DML语句 (Data Manipulation Language)数据操纵语言 1)select语句的使用方式 2)对游标指向元组的修改或删除操作 在游标处于活动状态时,可以修改或删除游标指向的元组。 (3)卷游标的定义和使用 练习: * * 为什么使用嵌入式SQL? 嵌入式SQL的实现,有两种方法: 扩充宿主语言的编译程序,使之能处理SQL语句; 预处理方式(常用) 预处理方式: 将具有前缀的语句,转换成宿主语言的函数调用语句 由宿主语言的编译器生成目标程序 宿主语言 + 嵌入SQL 预处理程序 宿主语言 + 函数调用 宿主语言编译器 宿主语言执行程序 嵌入式SQL语句与主语言之间的通信 数据库与源程序工作单元之间通信主要包括: 1.向主语言传递SQL语句的执行状态信息,使主语言能够据此控制程序流程,主要用SQL通信区实现;(SQL Communication Area,简称SQLCA) 2. 主语言向SQL语句提供参数,主要用变量(host variable)实现; 3. 将SQL语句查询数据库的结果交主语言进一步处理,主要用变量和游标(cursor)实现    SQL通信区, 主变量, 游标的概念 共享变量先由宿主语言程序定义,再用SQL的DECLARE语句声明,随后SQL语句就可引用这些变量。 共享变量是SQL和宿主语

文档评论(0)

yaocen + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档