《嵌入式SQL补充》PPT课件

《嵌入式SQL补充》PPT课件

ID:39498311

大小:221.11 KB

页数:28页

时间:2019-07-04

《嵌入式SQL补充》PPT课件_第1页
《嵌入式SQL补充》PPT课件_第2页
《嵌入式SQL补充》PPT课件_第3页
《嵌入式SQL补充》PPT课件_第4页
《嵌入式SQL补充》PPT课件_第5页
资源描述:

《《嵌入式SQL补充》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章 数据库编程嵌入式SQL练习:显示”王平“同学的学号和电话查询“数据库设计”课程的任课教师工号查询马建平授课的数据库设计班中“王一”的成绩usema_regi1Selectid,name,phonefromm_studentwherename='王一'usema_regi2Selectinstructor$idfromsectionwheresecton.code=(selectcodefromcoursewheretitle=“数据库设计”)Selectstudent$id,section$call_no,

2、gradefromm_enrollWherem_enroll.section$call_no=(Selectcall_nofromm_sectionwhereinstructor$id=(selectidfromm_instructorwherename='马建平')andcourse$code=(selectcodefromm_coursewheretitle='数据库设计'))Selectstudent$id,section$call_no,gradefromm_enrollwherem_enroll.stud

3、ent$id=(selectidfromm_studentwherename='王一')andm_enroll.section$call_no=(Selectcall_nofromm_sectionwhereinstructor$id=(selectidfromm_instructorwherename='马建平')andcourse$code=(selectcodefromm_coursewheretitle='数据库设计'))10.1SQL语言的运行环境SQL有两种使用方式:终端交互方式下使用--交互式SQL嵌

4、入在高级语言中使用--嵌入式SQL(高级语言可以是C,PASCAL,COBOL等,称为宿主语言)有些操作对于交互式SQL是不可能的任务。SQL的表达能力相比高级语言有一定的限制,有些数据访问要求单纯使用SQL无法完成。(1)SQL在逐渐增强自己的表达能力,(2)太多的扩展会导致优化能力及执行效率的降低。非声明性动作实际的应用系统是非常复杂的,数据库访问只是其中一个部件。有些动作如与用户交互、图形化显示数据等只能用高级语言实现。为什么使用嵌入式SQL?将SQL访问数据库的能力,与宿主语言的过程化处理的能力进行综合将S

5、QL语句嵌入宿主语言中引入变量的使用嵌入式SQL的实现,有两种方法:扩充宿主语言的编译程序,使之能处理SQL语句;预处理方式(常用)预处理方式:将具有前缀的语句,转换成宿主语言的函数调用语句由宿主语言的编译器生成目标程序嵌入式SQL执行过程宿主语言+嵌入SQL预处理程序宿主语言+函数调用宿主语言编译器宿主语言执行程序嵌入式SQL语句与主语句之间的通信数据库与源程序工作单元之间通信主要包括:1.向主语言传递SQL语句的执行状态信息,使主语言能够据此控制程序流程,主要用SQL通信区实现;(SQLCommunicatio

6、nArea,简称SQLCA)2.主语言向SQL语句提供参数,主要用主变量(hostvariable)实现;3.将SQL语句查询数据库的结果交主语言进一步处理,主要用主变量和游标(cursor)实现SQL通信区,主变量,游标的概念存储设备上的数据库是用SQL语句存取的,数据库和宿主语言程序间信息的传递是通过共享变量实现的。共享变量先由宿主语言程序定义,再用SQL的DECLARE语句声明,随后SQL语句就可引用这些变量。共享变量是SQL和宿主语言的接口。SQL规定,SQLSTATE是一个特殊的共享变量,起着解释SQL语

7、句执行状况的作用,由5个字符组成的字符数组的标准(ISO)返回信息码。SQLSTATE:00000:成功非0:出错02000:未找到元组根据SQLSTATE的值可以控制程序的流向。10.2嵌入式SQL的使用规定1、在程序中要区分SQL语句与宿主语言语句嵌入的SQL语句以EXECSQL开始,以分号(;)或END_EXEC结束(根据具体语言而定)EXECSQL<语句>END_EXEC举例:EXECSQLdeletefromswheresno=’s10’;2、允许嵌入的SQL语句引用宿主语言的程序变量(共享变量),但有以

8、下规定:(1)、宿主变量出现于SQL语句中时,前面加(:)以区别数据库变量(列名)。宿主变量可出现在SQL的数据操纵语句中可出现常数的任何地方,select等语句的into字句中。例:EXECSQLselectSNAME,AGEinto:stu_name,:agefromswhereSNO=:input_no;(2).共享变量的用法:先由宿主语言的程序定义,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。