- 1、本文档共123页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
*******预处理方式是:先由预处理程序对源程序进行扫描,识别出SQL语句,并处理成宿主语言的函数调用形式;然后再用宿主语言的编译程序把源程序编译成目标程序。通常DBMS制造商提供一个SQL函数定义库,供编译时使用。源程序的预处理和编译的具体过程如下图所示:目标程序宿主语言十嵌入式SQL?预处理程序?宿主语言十函数调用??宿主语言编译程序二、嵌入式SQL的使用规定①为区分SQL语句与宿主语言语句,在所有的SQL语句前必须加上前缀标识“EXECSQL”,并以“ENDEXEC”作为语句结束标志。格式:EXECSQLSQL语句END_EXEC结束标志在不同的宿主语言中是不同的,在C和PASCAL语言程序中规定结束标志不用END_EXEC,而使用分号“;”。②数据库工作单元和主程序工作单元之间的通讯允许嵌入的SQL语句引用宿主语言的程序变量(称为共享变量或称宿主变量)。并规定:?在引用这些变量时必须在这些变量前加冒号“:”作为前缀标识,以示与数据库中变量有区别;?这些变量由宿主语言的程序定义;?由SQL的BEGINDECLARESECTION与ENDDECLARESECTION语句之间说明。而主语言不能引用数据库中的字段变量。其中SQLSTATE是一个特殊的共享变量起着解释SQL语句执行状况的作用,是一个由5个字符组成的字符数组。SQLSTATE=0:表示SQL语句执行成功;SQLSTATE0:表示执行SQL语句时发生的各种特殊情况。譬如“02000”用来表示未找到元组。在执行一个SQL语句后,程序可以根据SQLSTATE的值转向不同的分支,以控制程序的流向。③引入游标机制:将集合操作转换为单元组处理。SQL的执行是面向集合的,一条SQL语句原则上可以产生或处理多条记录。宿主语言是面向记录的,一组主变量一次只能存放一条记录。为此引入游标来协调SQL语言与主语言的不同数据处理方式。三、嵌入式SQL的使用技术1、不涉及游标的嵌入式SQLDML语句情况一:对于INSERT、DELETE和UPDATE语句,只要加上前缀标识“EXECSQL”和结束标志“END_EXEC”,就能嵌入在宿主语言程序中使用。EXECSQLBEGINDECLARESECTIONchargivencno[5],cname[13],tname[9];charSQLSTATE[6];EXECSQLENDDECLARESECTION;scanf(“%s%s%s”,givencno,cname,tname);EXECSQLINSERTINTOC(CNO,CNAME,TNAME)VALUES(:givencno,:cname,:tname);(如何在C语言中说明共享变量)例1:在关系C中插入一门新的课程例2:从关系SC中删除一个学生的所有选课,学生的姓名由共享变量sname提供。EXECSQLBEGINDECLARESECTIONchargivensno[5],sname[9],sdept[11];charSQLSTATE[6];EXECSQLENDDECLARESECTION;scanf(“%s”,sname);EXECSQLDELETEFROMSCWHERESNO=(SELECTSNOFROMSWHERESNAME=:sname);情况二:对于SELECT语句,如果已知查询结果肯定是单元组时,可直接嵌入在主程序中使用,此时在SELECI语句中增加一个INTO子句,指出找到的值应送到相应的共享变量中去。例3:在关系S中根据共享变量givensno的值检索该学生的姓名和所在系:EXECSQLSELECTSNAME,SDEPTINTO:sname,:sdeptFROMSWHERESNO=:givensno;此处sname,sdept,givensno都是共享变量,已在主程序中定义,并用SQL的DEC
您可能关注的文档
最近下载
- 智慧医院-医务管理系统设计方案.pdf VIP
- 医务管理系统建设方案.doc VIP
- 石油 - GB-T 7631.10-2013 润滑剂、工业用油和有关产品(L类)的分类 第10部分:T组(涡轮机).pdf
- 2023年北京市中考英语试卷(附答案详解).docx VIP
- 《防止校园欺凌》ppt课件(图文).pptx
- 2024初中语文新部编版七年级上册全册核心素养教案.pdf VIP
- 数字电子技术3套考试题目(含答案) .pdf VIP
- 卡特彼勒C11 和C13 ON-HIGHWAY 发动机装配手册 英文.pdf VIP
- 设备管理思路及方案.docx
- 年产3万吨塑料制品、2万吨再生塑料颗粒项目环境影响报告表.doc
文档评论(0)