SQL 数据库分析和总结.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库——嵌入式SQL 使用嵌入式SQL,必须解决如下几个问题: (1)SQL 语言和宿主语言的数据类型可能不完全一致,必须解决数据类型的转换问题,这与 DBMS 和其支持的宿主语言有关。 (2)用SQL 语句查询数据库的结果是元组的集合,而宿主语言只支持数字型、字符性、数组 和记录等数据类型,不支持集合和关系类型。为此,要通过 SQL 语句使用的宿主变量逐个地把 每个元组传递给宿主语言中的程序变量。宿主语言编译器不能识别和接受在宿主语言中的 SQL 语句代码,必须把嵌入有 SQL 语句的宿主语言程序翻译成标准的宿主语言语句再进行编译,或 直接产生可执行的代码,这是首先要解决的问题。为此,通常先对嵌入有 SQL 语句的宿主语言 程序进行预处理,翻译成标准的宿主语言语句,再用宿主语言编译器进行编译。数据库和宿主语 言之间如何通过宿主变量传递数据和信息。 (3)在宿主语言程序中如何判断 SQL 语句执行的正确或错误? 下面对这些问题逐一给出解答。 1.嵌入式SQL语言的使用格式 为了把SQL 语句嵌入主程序设计语言中,并且在主程序设计语言的源代码中能够区分宿主语 言的语句和嵌入的 SQL 语句,便于预处理程序识别它,必须有开始和结束的语句块标识符,把 SQL 语句括在其中。通常在 SQL 语句前面加上前缀表示EXEC SQL,并以END_EXEC作为 语句结束的标志,构成EXEC SQL SQL 语句 END_EXEC 的嵌入语句块,如下所示: 开始标识符: EXEC SQL 嵌入的SQL 语句 结束标识符:END_SQL 说明:SQL 语句的结束标志随着宿主语言的不同而有差别。因此,嵌入式SQL 的确切语法依 赖于宿主语言。当宿主语言为 C、PL/1或 Pascal 时,嵌入语句块的结束符使用分号 ,不 ; 使用END_SQL。 Oracle 数据库系统提供了Pro*C 语言,在C 语言中可嵌入 SQL 语句,以分号 作为结 ; 束标识符。为了方便起见,下面的示例程序中,嵌入语句块以 EXEC SQL 开始,用分号 作 ; 为结束标志。 2.共享主变量的声明 凡在SQL 语句中使用的、用于与宿主语言交换数据的变量,称为宿主变量,简称主变量。主 变量也必须用开始和结束标识符括起来进行声明。只有这样声明的主变量才能用于 SQL 与宿主 语言交换数据,所以主变量是 SQL 和宿主语言共享的变量。 主变量是主语言的变量,所以主变量的说明必须遵从宿主语言的规定,但主变量类型必须是 两种语言都能处理的。 主变量的声明格式:EXEC SQL BEGIN DECLARE SECTION SQL 宿主变量说明 EXEC SQL END DECLARE SECTION 这些共享的变量在宿主语言中使用时同其他变量一样,当在 SQL 语句中使用宿主变量时, 宿主变量前必须要冠以某种特殊符号,用以区别宿主变量和 SQL 语句中的列名。Oracle 的宿 主变量前使用冒号 ,SQL Server 中使用@符号。例如,@xy,@post 等,称为SQL Server : 的局部变量。 在 SQL 中可以使用共享宿主变量实现与宿主语言之间传递具体的值。下面的例子是在 C 语 言中嵌入SQL 语句,使用共享宿主变量时在前面加上冒号。 例1 声明三个主变量,如下描述: : EXEC SQL BEGIN DECLARE SECTION Char sname[20], ssex[1]; Char sclass[10]; EXEC SQL END DECLARE SECTION 说明:上面的例子夹在嵌入式SQL 标识语句之间的是宿主变量的声明,只有宿主语言和SQL 都能处理的变量类型才有意义。中间的语句说明了三个变量 sname,ssex,sclass,都是字符 数组,用来保存学生的姓名、性别、班级编号。它们的说明形式必须遵从宿主语言的规定。例如, 上面的例子中,就是因为宿主语言是C 语言

文档评论(0)

tianya189 + 关注
官方认证
文档贡献者

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

认证主体阳新县融易互联网技术工作室
IP属地上海
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档

相关文档