网站大量收购闲置独家精品文档,联系QQ:2885784924

第10章 嵌入式SQL.ppt

  1. 1、本文档共59页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章 嵌入式SQL

二、非CURRENT形式的增删改语句 在UPDATE的SET子句和WHERE子句中可以使用主变量,SET子句还可以使用指示变量 [例4] 修改某个学生选修1号课程的成绩。 EXEC SQL UPDATE SC SET Grade=:newgrade /*修改的成绩已赋给主变量*/ WHERE Sno=:givensno; /*学号赋给主变量givensno*/ 非CURRENT形式的增删改语句(续) [例5] 将计算机系全体学生年龄置NULL值。 Sageid=-1; EXEC SQL UPDATE Student SET Sage=:Raise :Sageid WHERE Sdept= ‘CS’; 将指示变量Sageid赋一个负值后,无论主变量Raise为何值,RDBMS都会将CS系所有学生的年龄置空值 。 等价于: EXEC SQL UPDATE Student SET Sage=NULL WHERE Sdept= CS; 非CURRENT形式的增删改语句(续) [例6] 某个学生退学了,现要将有关他的所有选课记录删除掉。假设该学生的姓名已赋给主变量stdname。 EXEC SQL DELETE FROM SC WHERE Sno= (SELECT Sno FROM Student WHERE Sname=:stdname); 非CURRENT形式的增删改语句(续) [例7] 某个学生新选修了某门课程,将有关记录插入SC表中。假设插入的学号已赋给主变量stdno,课程号已赋给主变量couno。 gradeid=-1; /*用作指示变量,赋为负值*/ EXEC SQL INSERT INTO SC(Sno,Cno,Grade) VALUES(:stdno,:couno,:gr :gradeid); 由于该学生刚选修课程,成绩应为空,所以要把指示变量赋为负值 10.1 嵌入式SQL的处理过程 10.2 嵌入式SQL语句与主语言之间的通信 10.3 不使用游标的SQL语句 10.4 使用游标的SQL语句 10.5 动态SQL 10.6 小结 第十章 嵌入式SQL 10.4 使用游标的SQL语句 必须使用游标的SQL语句 查询结果为多条记录的SELECT语句 CURRENT形式的UPDATE语句 CURRENT形式的DELETE语句 使用游标的SQL语句(续) 一、 查询结果为多条记录的SELECT语句 二、CURRENT形式的UPDATE和DELETE语句 一、 查询结果为多条记录的SELECT语句 使用游标的步骤 1. 说明游标 2. 打开游标 3.推进游标指针并取当前记录 4. 关闭游标 1. 说明游标 使用DECLARE语句 语句格式 EXEC SQL DECLARE 游标名 CURSOR FOR SELECT语句; 功能 是一条说明性语句,这时DBMS并不执行SELECT指定的查询操作。 2. 打开游标 使用OPEN语句 语句格式 EXEC SQL OPEN 游标名; 功能 打开游标实际上是执行相应的SELECT语句,把所有满足查询条件的记录从指定表取到缓冲区中 这时游标处于活动状态,指针指向查询结果集中第一条记录 3.推进游标指针并取当前记录 使用FETCH语句 语句格式 EXEC SQL FETCH [[NEXT|PRIOR| FIRST|LAST] FROM] 游标名 INTO 主变量[指示变量][,主变量[指示变量]]...; * Database Principles 五邑大学信息学院 何国辉 教授 数据库原理 Database Principles 数据库原理

文档评论(0)

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

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

1亿VIP精品文档

相关文档