36数据控制(编辑修改稿)内容摘要:
,主变量 [指示变量 ]]... FROM 表名或视图名 [,表名或视图名 ] ... [WHERE 条件表达式 ] [GROUP BY 列名 1 [HAVING 条件表达式 ]] [ORDER BY 列名 2 [ASC|DESC]]。 周口师范学院计算机科学系 02级教育专业 2020年 10月 8日 12时 51分 周口师范学院计算机科学系 44 对交互式 SELECT语句的扩充就是多了一个 INTO子句 把从数据库中找到的符合条件的记录,放到 INTO子句指出的主变量中去。 周口师范学院计算机科学系 02级教育专业 2020年 10月 8日 12时 51分 周口师范学院计算机科学系 45 使用注意事项 1. 使用主变量 INTO子句 WHERE子句的条件表达式 HAVING短语的条件表达式 周口师范学院计算机科学系 02级教育专业 2020年 10月 8日 12时 51分 周口师范学院计算机科学系 46 2. 使用指示变量 指示变量只能用于 INTO子句中 如果 INTO子句中主变量后面跟有指示变量,则当查询得出的某个数据项为空值时,系统会自动将相应主变量后面的指示变量置为负值,但不向该主变量执行赋值操作,即主变量值仍保持执行 SQL语句之前的值 当发现指示变量值为负值时,不管主变量为何值,均应认为主变量值为 NULL 周口师范学院计算机科学系 02级教育专业 2020年 10月 8日 12时 51分 周口师范学院计算机科学系 47 3. 查询结果为空集 如果数据库中没有满足条件的记录,即查询结果为空,则 DBMS将 SQLCODE的值置为100 4. 查询结果为多条记录 程序出错, DBMS会在 SQLCA中返回错误信息 周口师范学院计算机科学系 02级教育专业 2020年 10月 8日 12时 51分 周口师范学院计算机科学系 48 例 3 根据学生号码查询学生信息。 假设已将要查询的学生的学号赋给了主变量givensno EXEC SQL SELECT Sno, Sname, Ssex, Sage, Sdept INTO :Hsno, :Hname, :Hsex, :Hage, :Hdept FROM Student WHERE Sno=:givensno。 Hsno, Hname, Hsex, Hage, Hdept和 givensno均是主变量,并均已在前面的程序中说明过了 周口师范学院计算机科学系 02级教育专业 2020年 10月 8日 12时 51分 周口师范学院计算机科学系 49 例 4 查询某个学生选修某门课程的成绩。 假设已将要查询的学生的学号赋给了主变量 givensno,将课程号赋给了主变量giveno。 EXEC SQL SELECT Sno, Cno, Grade INTO :Hsno, :Ho, :Hgrade:Gradeid FROM SC WHERE Sno=:givensno AND Cno=:giveno。 周口师范学院计算机科学系 02级教育专业 2020年 10月 8日 12时 51分 周口师范学院计算机科学系 50 从提高应用程序的数据独立性角度考虑,SELECT语句在任何情况下都应该使用游标 对于仅返回一行结果数据的 SELECT语句虽然可以不使用游标 但如果以后数据库改变了,该 SELECT语句可能会返回多行数据,这时该语句就会出错 周口师范学院计算机科学系 02级教育专业 2020年 10月 8日 12时 51分 周口师范学院计算机科学系 51 五、非 CURRENT形式的 UPDATE语句 非 CURRENT形式的 UPDATE语句 使用主变量 : SET子句 , WHERE子句 使用指示变量 : SET子句 非 CURRENT形式的 UPDATE语句可以操作多条元组 周口师范学院计算机科学系 02级教育专业 2020年 10月 8日 12时 51分 周口师范学院计算机科学系 52 例 5 将全体学生 1号课程的考试成绩增加 若干分。 假设增加的分数已赋给主变量 Raise EXEC SQL UPDATE SC SET Grade=Grade+:Raise WHERE Cno=39。 1„。 周口师范学院计算机科学系 02级教育专业 2020年 10月 8日 12时 51分 周口师范学院计算机科学系 53 例 6 修改某个学生 1号课程的成绩。 假设该学生的学号已赋给主变 量 givensno,改后的成绩已赋给主变量newgrade。 EXEC SQL UPDATE SC SET Grade=:newgrade WHERE Sno=:givensno。 周口师范学院计算机科学系 02级教育专业 2020年 10月 8日 12时 51分 周口师范学院计算机科学系 54 例 7 将计算机系全体学生年龄置 NULL值 Sageid=1。 EXEC SQL UPDATE Student SET Sage=:Raise:Sageid WHERE Sdept=39。 CS39。 周口师范学院计算机科学系 02级教育专业 2020年 10月 8日 12时 51分 周口师范学院计算机科学系 55 将指示变量 Sageid赋一个负值后,无论主变量 Raise为何值, DBMS都会将 CS系所有记录的年龄属性置空值。 它等价于: EXEC SQL UPDATE Student SET Sage=NULL WHERE Sdept=39。 CS39。 周口师范学院计算机科学系 02级教育专业 2020年 10月 8日 12时 51分 周口师范学院计算机科学系 56 六、非 CURRENT形式的 DELETE语句 非 CURRENT形式的 DELETE语句 使用主变量 WHERE子句 非 CURRENT形式的 DELETE语句可以操作多条元组 周口师范学院计算机科学系 02级教育专业 2020年 10月 8日 12时 51分 周口师范学院计算机科学系 57 例 8 某个学生退学了,现要将有关他的所有选课记录删除掉。 假设该学生的姓名已赋给主变量 stdname EXEC SQL DELETE FROM SC WHERE Sno= (SELECT Sno FROM Student WHERE Sname=:stdname)。 周口师范学院计算机科学系 02级教育专业 2020年 10月 8日 12时 51分 周口师范学院计算机科学系 58 七、 INSERT语句 非 CURRENT形式的 INSERT语句 使用主变量 VALUES子句 使用指示变量 VALUES子句 非 CURRENT形式的 INSERT语句一次只能输入一条元组 周口师范学院计算机科学系 02级教育专业 2020年 10月 8日 12时 51分 周口师范学院计算机科学系 59 例 9 某个学生新选修了某门课程,将有关记录插入 SC表 假设学生的学号已赋给主变量 stdno,课程号已赋给主变量 couno。 gradeid=1。 EXEC SQL INSERT INTO SC(Sno, Cno, Grade) VALUES(:stdno, :couno, :gr:gradeid)。 由于该学生刚选修课程,尚未考试,因此成绩列为空。 所以本例中用指示变量指示相应的主变量为空值。 周口师范学院计算机科学系 02级教育专业 2020年 10月 8日 12时 51分 周口师范学院计算机科学系 60 使用游标的 SQL语句 必须使用游标的 SQL语句 查询结果为多条记录的 SELECT语句 CURRENT形式的 UPDATE语句 CURRENT形式的 DELETE语句 周口师范学院计算机科学系 02级教育专业 2020年 10月 8日 12时 51分 周口师范学院计算机科学系 61 一、 查询结果为多条记录的SELECT语句 使用游标的步骤 1. 说明游标 2. 打开游标 3. 移动游标指针,然后取当前记录 4. 关闭游标 周口师范学院计算机科学系 02级教育专业 2020年 10月 8日 12时 51分 周口师范学院计算机科学系 62 1. 说明游标 使用 DECLARE语句 语句格式 : EXEC SQL DECLARE 游标名 CURSOR FOR SELECT语句。 功能 : 是一条说明性语句,这时 DBMS并不执行SELECT指定的查询操作。 周口师范学院计算机科学系 02级教育专业 2020年 10月 8日 12时 51分 周口师范学院计算机科学系 63 2. 打开游标 使用 OPEN语句 语句格式 EXEC SQL OPEN 游标名。 功能 打开游标实际上是执行相应的 SELECT语句,把所有满足查询条件的记录从指定表取到缓冲区中 这时游标处于活动状态,指针指向查询结果集中第一条记录之前 周口师范学院计算机科学系 02级教育专业 2020年 10月 8日 12时 51分 周口师范学院计算机科学系 64 3. 移动游标指针,然后取当前记录 使用 FETCH语句 语句格式 EXEC SQL FETCH [[NEXT|PRIOR| FIRST|LAST] FROM] 游标名 INTO 主变量 [指示变量 ] [,主变量 [指示变量 ]]...。 周口师范学院计算机科学系 02级教育专业 2020年 10月 8日 12时 51分 周口师范学院计算机科学系 65 功能 指定方向推动游标指针,然后将缓冲区中的当前记录取出来送至主变量供主语言进一步处理。 NEXT|PRIOR|FIRST|LAST:指定推动游标指针的方式。 NEXT: 向前推进一条记录 PRIOR:向回退一条记录 FIRST: 推向第一条记录 LAST: 推向最后一条记录 缺省值为 NEXT 周口师范学院计算机科学系 02级教育专业 2020年 10月 8日 12时 51分 周口师范学院计算机科学系 66 说明 : (1) 主变量必须与 SELECT语句中的目标列表达式具有一一对应关系 (2) FETCH语句通常用在一个循环结构中,通过循环执行 FETCH语句逐条取出结果集中的行进行处理 (3) 为进一步方便用户处理数据,现在一些关系数据库管理系统对 FETCH语句做了扩充,允许用户向任意方向以任意步长移动游标指针 周口师范学院计算机科学系 02级教育专业 2020年 10月 8日 12时 51分 周口师范学院计算机科学系 67 4. 关闭游标 使用 CLOSE语句 语句格式 : EXEC SQL CLOSE 游标名。 功能 : 关闭游标,释放结果集占用的缓冲区及其他资源 说明 : 游标被关闭后,就不再和原来的查询结果集相联系 被关闭的游标可以再次被打开,与新的查询结果相联系 周口师范学院计算机科学系 02级教育专业 2020年 10月 8日 12时 51分 周口师范学院计算机科学系 68 例题 例。36数据控制(编辑修改稿)
相关推荐
板 红色透明玻璃只能透过红光,其它色光被吸收了。 绿色透明玻璃只能透过绿光,其它色光被吸收了。 蓝色透明玻璃只能透过蓝光,其它色光被吸收了。 结 论 透明物体的颜色是由它 透过 的色光决定的。 透明物体只能透过与它相同的色光,吸收与它不相同的色光。 无色透明物体几乎能透过所有色光。 新课导入 练习巩固 上 页 下 页 本课小结 返 回 新课教学 初二物理 《 揭开色彩的奥秘 》 活动 3
大的变化。 “你想把它拿走吗。 “你可以把它拿下来看看。 好汉查理, 我叫杰西。 ” “这刀是爸爸的,要不然我会送给你。 好汉查理,能推我到外面晒晒太阳吗。 ” “你能常来陪我吗 ?” 从杰西的话中,你觉得她是个怎样的人。 “你想把它拿走吗。 ” “不,好汉查理从来不随便拿别
前面、后面、左面、右面 • 白色、灰色、紫色、黑色 • 鞋子、裤子、帽子、袜子 记忆策略一:组织 • 提炼、概括所要记忆事物的特征,使其简单、鲜明 • 比一比。 • 找找特征或规律(如分类),有助于我们很快记住这些事物 记忆策略: • 一、 组织 ,提炼、概括所要记忆事物的特征 • 二、 背诵 ,就是出声地把学过的内容说出来 • 三、 过度学习 ,掌握了学习材料并能准确回忆之后仍然继续学习 •
(, 00 xfx 是拐点的必要条件是 0)( 0 xf . 注意 :拐点处的切线必在拐点处穿过曲线 . 证 ,)( 二阶可导xf ,)( 存在且连续xf ,])([)( 0 两边变号在则 xxfxf ,))(,( 00 是拐点又 xfx,)( 0 取得极值在 xxf ,条件由可导函数取得极值的.0)( 0 xf方法 1: ,0)(,)(00
常用 Gauss求积公式 — Legendre求积公式 在区间 [1, 1]上取权函数 ,那么相应的正交多项式为 Legendre多 项式。 以 Legendre多项式的零点为 Gauss点的求积公式为 ( ) 称之为 GaussLegendre求积公式。 ,1x nkkk xfAdxxf011第三章 数值积分与数值微分 当 n=1时,二次
45176。 77176。 62176。 23′ 27176。 37′ 117176。 37′ 85176。 175176。 58176。 148176。 45176。 135176。 103176。 13176。 一个角的补角是这个角的 3倍 ,求这个角 . x 90176。 x 180176。 x 一个角的补角是这个角 的余角 的 4倍 ,求这个角 . • 如果 ∠ 1与 ∠ 2互 余 ,