第3篇 关系数据库语言.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQLCA中有一个分量叫SQLCODE,可表示为: SQLCA.SQLCODE. 它是一个整数,供DBMS向应用程序报告SQL语句执行情况用。 (2) 如查询结果超过一个元组,需在程序中开辟一个区域,存放查询的结果。该区域及其相应的数据结构称为游标。然后逐个地取出每个元组给宿主变量赋值。 如何将查询结果赋值给宿主语言程序中的变量。(通过游标语句) 在宿主变量中,有一个系统定义的特殊变量,叫SQLCA(SQL通信区)。它是全局变量。供应用程序与DBMS之间通信用。 格式: EXEC SQL INCLUDE SQLCA SQLCODE 0 ,SQL已执行,但有异常; SQLCODE 0 ,SQL没执行,有错误; SQLCODE = 0 ,执行成功,无异常。 注:SQLCODE的值与具体含义,不同系统有所区别。 宿主语言和DBMS之间如何传递数据和信息? ? 允许在嵌入的SQL语句中引用宿主语言的程序变量,但有两条规定: 1、引用时,这些变量前必须加“:”作为前缀, 以示与数据库中变量区别。 2、这些“共享变量”有宿主语言的持续定义,并用SQL的DECLARE语句说明。 ? SQL的集合处理方式与宿主语言单记录 处理方式的协调。 由于SQL语句可以处理一组记录,而宿主 语言语句一次只能处理一个记录,因此需要游标机制,把集合操作转换成单记录方式。 3.7.3 嵌入式SQL的可执行语句 内容包括:嵌入式DDL、QL、DML、及DCL 语句,进入数据库的CONNECT语句以及控制事 务结束的语句。 对于SQL DDL语句,只要加上前缀标识“EXEC SQL”和结束标识“;”(对C语言),就能嵌入在 宿主语言程序中使用。 而SQL DML语句在嵌入使用时,要注意是否使 用了游标机制。 可执行语句格式: EXEC SQL CONNECT :uid IDENTIFIED BY :pwd; 这里uid 、pwd为两个宿主变量;uid为用户标识符,pwd为用户的口令。执行CONNECT前由宿主语言程序赋值。 只有当CONNECT语句执行成功后才能执行事务处理中的其它可执行语句。 例: EXEC SQL INSERT INTO SC (SNO, CNO, GRADE ) VALUES (:SNO, :CNO, :GRADE); 功能:将一个元组插入到表SC中。 插入的元组由三个宿主变量构成,由宿主 语言程序赋值。 例: EXEC SQL SELECT GRADE INTO :GRADE, :GRADEI FROM SC WHERE SNO=:GIVENSNO AND CNO=:GIVENCNO; 功能:查询学生成绩。 (1) 如查询结果只有一个元组,可将结果直接用INTO子句对有关的宿主变量直接赋值。 3.5.3 UPDATE(更新)语句 格式如图3-7所示 例3-16 将CS-110课程改成春季开出。 语句:UPDATE COURSE SET SEMESTER=‘春’ WHERE CNO=‘CS-110’; 例3-17 将STUDENT表中的HEIGHT的单位改 为厘米。 语句:UPDATE STUDENT SET HEIGHT=100*HEIGHT; 视图:是由其它视图或基表导出的虚表。它不是一个存在数据库中的表,而是在数据目录中保留其逻辑定义。 当视图参与数据库操作时,可通过修改查 询条件,把对视图的查询转换为对基表的查 询。 3.6 SQL中的视图 3.6.1 普通视图 视图的定义: 1、用户经常要用到的一些数据; 2、用户经常要查询的内容; 注意:视图对应的内容总是实时、最新的内容, 并不是视图定义时对应内容。这是由于基表随着 更新操作其内容在不断变化,所以视图对应的内 容也在不断变化。 视图的内容是静态的,还是动态的? 视图的撤消: 视图不再需要时,可以从系统中撤消。 视图的定义和撤消语句的格式如图3-8(a)、(b)所示。 不能使用 UNION、 ORDER BY等 例3-18 试定义视图ENROL-SPRING,作为学生春季选课一览表,其中含有SNO,SNAME,CNO,CREIT等属性。 语句: CREATE VIEW ENROL-SPRING AS SELECT SNO,SNA

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档