- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式SQL 例如: 关系DBMS一般提供一批用宿主语言编写的SQL函数,组成SQL函数库, 供应用程序调用DBMS的各种功能 预编译器 主语言编译器 连接 嵌有SQL的宿主语言源码 含有调用SQL函数的宿主语言源码 目标代码 SQL函数库 可执行代码 * 嵌入式SQL SQL函数库实际上是DBMS向应用程序提供的一种接口, 称为调用级接口(CLI) 预编译器将嵌入SQL语句编译成宿主语言对SQL函数的调用 95年ISO公布了一个CLI标准, 作为SQL-92的一个附件,称为SQL-92/CLI或CLI95, 新的RDBMS都支持该标准, 标准中只规定了函数的定义 * 嵌入式SQL 嵌入式SQL 的一般格式 所有SQL语句必须加前缀EXEC SQL和语句结束标志(C语言中一般是“;” 号) EXEC SQL select Sno from SC where Cno=‘1’; 嵌入式SQL语句可分为: 可执行语句和说明性语句 嵌入式SQL语句与主语言语句之间的通信 SQL通信区(SQLCA): 每个SQL语句执行后, 系统要反馈给应用程序若干信息, 这些信息存于SQLCA中 * 嵌入式SQL 应用程序从SQLCA中取出这些状态信息, 并据此决定应用程序的进一步执行 SQLCA是一个数据结构, 由系统定义, 程序员只需在程序中加入 “EXEC SQL INCLUDE SQLCA;” 便可以引用其中的分量 分量SQLCODE是一整型变量, 系统将每个SQL语句执行成功与否的结果赋给该变量 0: 成功 正数: 已执行但有异常(其中100表示没取到数) 负数:表示SQL语句因某些错误而未被执行, 负数的值表示错误的类别 * 嵌入式SQL 主变量(宿主变量) 嵌入式SQL使用主语言的变量输入/输出数据, 主变量的说明(可以和属性同名) 例子: EXEC SQL BEGIN DECLARE SECTION; char Sno[7], char givenSno[7], char Cno char[2], float Grade, short GradeIn; EXEC SQL END DECLARE SECTION; 主变量的使用 在SQL中使用主变量时, 主变量前以定加“:” * 嵌入式SQL 主变量的使用 在SQL中使用主变量时, 主变量前以定加“:” 例子: EXEC SQL select Sno, Cno, Grade into :Sno, :Cno, :Grade from SC where Sno=:givenSno; 指示变量(主变量的一种) 一个主变量可以附带一个指示变量, 指示变量也必须说明, 使用时放在要主变量之后 例子: * 嵌入式SQL EXEC SQL select Sno, Cno, Grade into :Sno, :Cno, :Grade :GradeIn from SC where Sno=:givenSno; 指示主变量的取值情况(是否为空值), 当GradeIn0时, 表明成绩为空值 指示变量不允许用在where子句中 游标 SQL与主语言具有不同的处理方式, 用游标协调 游标区是系统为用户开设的一个数据缓冲区, 存放SQL语句的执行结果, 每个游标区有一个名字 游标的说明和使用(举例说明) * 嵌入式SQL EXEC SQL DECLARE cursor1 CURSOR FOR select Sno, Cno, Grade into :Sno, :Cno, :Grade from SC; EXEC SQL OPEN cursor1; while(1) { EXEC SQL FETCH cursor1; if(sqlca.sqlcode)0 break; printf(“Sno:%s, Cno:%s, Grade:%d”, Sno, Cno, Grade); } EXEC SQL CLOSE cursor1; * 不使用游标的SQL语句 不使用游标的sql语句 Insert语句 update(不带current子句)
您可能关注的文档
- 【测控指导】2015-2016学年高中语文1.2瓦尔登湖(节选)粤教版必修3技术方案.ppt
- 4-1化学发光免疫技术课稿.ppt
- 【测控指导】2015-2016学年高中语文2.6寂静的春天(节选)粤教版必修3技术方案.ppt
- 4-1基因指导蛋白质的合成第二课时课稿.ppt
- 3.第三章酸碱平衡课稿.ppt
- 4-1家用空调器室内机结构课稿.ppt
- 3.第三章无机胶凝课稿.ppt
- 4-1立体投影与立体构型课稿.ppt
- 3.动力学课稿.ppt
- 【畅优新课堂】八年级数学下册第1章直角三角形1.2勾股定理(第1课时)(新版)湘教版技术方案.ppt
- 【创新设计】2015高考生物二轮专题复习配套:第一篇第一单元专题三细胞的生命历程(含减数分裂)技术方案.ppt
- 3-1凝练的视觉符号课稿.ppt
- 【创新设计】2015高考英语大二轮复习完形填空专题:专题二完形填空解题五——破解夹叙文技术方案.ppt
- 4TB软件的应用——套利交易课稿.ppt
- 【创新设计】2015届高考生物总复习1-1-2组成细胞的元素及无机化合物技术方案.ppt
- 3-1农业的区位选择课稿.ppt
- 【创新设计】2015届高考生物总复习1-3-2细胞的能量通货ATPATP的主要来源细胞呼吸技术方案.ppt
- 3-1微生物的生物学性状(1-2)细菌课稿.ppt
- 4柏努利方程的应用课稿.ppt
- 【创新设计】2015届高考生物总复习2-1-1孟德尔的豌豆杂交实验一技术方案.ppt
文档评论(0)