《嵌入式SQL补充》PPT课件.ppt
《《嵌入式SQL补充》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《嵌入式SQL补充》PPT课件.ppt(28页珍藏版)》请在三一办公上搜索。
1、第6章数据库编程,嵌入式SQL,练习:,显示”王平“同学的学号和电话查询“数据库设计”课程的任课教师工号查询马建平授课的数据库设计班中“王一”的成绩,use ma_regi1Select id,name,phone from m_student where name=王一,use ma_regi2Select instructor$id from section where secton.code=(select code from course where title=“数据库设计”),Select student$id,section$call_no,grade from m_enroll
2、 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
3、 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是不可
4、能的任务。SQL的表达能力相比高级语言有一定的限制,有些数据访问要求单纯使用SQL无法完成。(1)SQL在逐渐增强自己的表达能力,(2)太多的扩展会导致优化能力及执行效率的降低。非声明性动作实际的应用系统是非常复杂的,数据库访问只是其中一个部件。有些动作如与用户交互、图形化显示数据等只能用高级语言实现。,为什么使用嵌入式SQL?,将SQL访问数据库的能力,与宿主语言的过程化处理的能力进行综合将SQL语句嵌入宿主语言中引入变量的使用,嵌入式SQL的实现,有两种方法:扩充宿主语言的编译程序,使之能处理SQL语句;预处理方式(常用)预处理方式:将具有前缀的语句,转换成宿主语言的函数调用语句由宿主语言
5、的编译器生成目标程序,嵌入式SQL执行过程,嵌入式SQL语句与主语句之间的通信,数据库与源程序工作单元之间通信主要包括:1.向主语言传递SQL语句的执行状态信息,使主语言能够据此控制程序流程,主要用SQL通信区实现;(SQL Communication Area,简称SQLCA)2.主语言向SQL语句提供参数,主要用主变量(host variable)实现;3.将SQL语句查询数据库的结果交主语言进一步处理,主要用主变量和游标(cursor)实现SQL通信区,主变量,游标的概念,存储设备上的数据库是用SQL语句存取的,数据库和宿主语言程序间信息的传递是通过共享变量实现的。,共享变量先由宿主语言
6、程序定义,再用SQL的DECLARE语句声明,随后SQL语句就可引用这些变量。,共享变量是SQL和宿主语言的接口。,SQL规定,SQLSTATE是一个特殊的共享变量,起着解释SQL语句执行状况的作用,由5个字符组成的字符数组的标准(ISO)返回信息码。SQLSTATE:00000:成功非0:出错02000:未找到元组根据SQLSTATE的值可以控制程序的流向。,10.2 嵌入式SQL的使用规定,1、在程序中要区分SQL语句与宿主语言语句嵌入的SQL语句以EXEC SQL开始,以分号(;)或END_EXEC结束(根据具体语言而定)EXEC SQL END_EXEC举例:EXEC SQL dele
7、te from swhere sno=s10;,2、允许嵌入的SQL语句引用宿主语言的程序变量(共享变量),但有以下规定:(1)、宿主变量出现于SQL语句中时,前面加(:)以区别数据库变量(列名)。宿主变量可出现在SQL的数据操纵语句中可出现常数的任何地方,select等语句的into字句中。例:EXEC SQL select SNAME,AGE into:stu_name,:age from s where SNO=:input_no;,(2).共享变量的用法:先由宿主语言的程序定义,并用SQL的DECLARE语句说明。EXEC SQL BEGIN DECLARE SECTIONint st
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式SQL补充 嵌入式 SQL 补充 PPT 课件
链接地址:https://www.31ppt.com/p-5582905.html