数据库基础第三章sql语句(编辑修改稿)内容摘要:
EXEC SQL GRANT SELECT ON TABLE Student TO U1。 四、查询结果为单记录的 SELECT语句 语句格式 EXEC SQL SELECT [ALL|DISTINCT] 目标列表达式 [,目标列表达式 ]... INTO 主变量 [指示变量 ] [,主变量 [指示变量 ]]... FROM 表名或视图名 [,表名或视图名 ] ... [WHERE 条件表达式 ] [GROUP BY 列名 1 [HAVING 条件表达式 ]] [ORDER BY 列名 2 [ASC|DESC]]。 查询结果为单记录的 SELECT语句(续) 对交互式 SELECT语句的扩充就是多了一个 INTO子句 把从数据库中找到的符合条件的记录,放到INTO子句指出的主变量中去。 查询结果为单记录的 SELECT语句(续) 使用注意事项 1. 使用主变量 INTO子句 WHERE子句的条件表达式 HAVING短语的条件表达式 查询结果为单记录的 SELECT语句(续) 2. 使用指示变量 指示变量只能用于 INTO子句中 如果 INTO子句中主变量后面跟有指示变量,则当查询得出的某个数据项为空值时,系统会自动将相应主变量后面的指示变量置为负值,但不向该主变量执行赋值操作,即主变量值仍保持执行 SQL语句之前的值 当发现指示变量值为负值时,不管主变量为何值,均应认为主变量值为 NULL 查询结果为单记录的 SELECT语句(续) 3. 查询结果为空集 如果数据库中没有满足条件的记录,即查询结果为空,则 DBMS将 SQLCODE的值置为 100 4. 查询结果为多条记录 程序出错, DBMS会在 SQLCA中返回错误信息 查询结果为单记录的 SELECT语句(续) 例 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均是主变量,并均已在前面的程序中说明过了。 查询结果为单记录的 SELECT语句(续) 例 4 查询某个学生选修某门课程的成绩。 假设已将要查询的学生的学号赋给了主变量givensno,将课程号赋给了主变量 giveno。 EXEC SQL SELECT Sno, Cno, Grade INTO :Hsno, :Ho, :Hgrade:Gradeid FROM SC WHERE Sno=:givensno AND Cno=:giveno。 查询结果为单记录的 SELECT语句(续) 从提高应用程序的数据独立性角度考虑,SELECT语句在任何情况下都应该使用游标 对于仅返回一行结果数据的 SELECT语句虽然可以不使用游标 但如果以后数据库改变了,该 SELECT语句可能会返回多行数据,这时该语句就会出错 五、非 CURRENT形式的 UPDATE语句 非 CURRENT形式的 UPDATE语句 使用主变量 SET子句 WHERE子句 使用指示变量 SET子句 非 CURRENT形式的 UPDATE语句可以操作多条元组 非 CURRENT形式的 UPDATE语句(续) 例 5 将全体学生 1号课程的考试成绩增加若干分。 假设增加的分数已赋给主变量 Raise EXEC SQL UPDATE SC SET Grade=Grade+:Raise WHERE Cno=39。 139。 非 CURRENT形式的 UPDATE语句(续) 例 6 修改某个学生 1号课程的成绩。 假设该学生的学号已赋给主变量 givensno, 修改后的成绩已赋给主变量 newgrade。 EXEC SQL UPDATE SC SET Grade=:newgrade WHERE Sno=:givensno。 非 CURRENT形式的 UPDATE语句(续) 例 7 将计算机系全体学生年龄置 NULL值 Sageid=1。 EXEC SQL UPDATE Student SET Sage=:Raise:Sageid WHERE Sdept=39。 CS39。 非 CURRENT形式的 UPDATE语句(续) 将指示变量 Sageid赋一个负值后,无论主变量Raise为何值, DBMS都会将 CS系所有记录的年龄属性置空值。 它等价于: EXEC SQL UPDATE Student SET Sage=NULL WHERE Sdept=39。 CS39。 六、非 CURRENT形式的 DELETE语句 非 CURRENT形式的 DELETE语句 使用主变量 WHERE子句 非 CURRENT形式的 DELETE语句可以操作多条元组 非 CURRENT形式的 DELETE语句(续) 例 8 某个学生退学了,现要将有关他的所有选课记录删除掉。 假设该学生的姓名已赋给主变量 stdname EXEC SQL DELETE FROM SC WHERE Sno= (SELECT Sno FROM Student WHERE Sname=:stdname)。 七、 INSERT语句 非 CURRENT形式的 INSERT语句 使用主变量 VALUES子句 使用指示变量 VALUES子句 非 CURRENT形式的 INSERT语句一次只能输入一条元组 INSERT语句(续) 例 9 某个学生新选修了某门课程,将有关记录插入 SC表 假设学生的学号已赋给主变量 stdno,课程号已赋给主变量couno。 gradeid=1。 EXEC SQL INSERT INTO SC(Sno, Cno, Grade) VALUES(:stdno, :couno, :gr:gradeid)。 由于该学生刚选修课程,尚未考试,因此成绩列为空。 所以本例中用指示变量指示相应的主变量为空值。 使用游标的 SQL语句 必须使用游标的 SQL语句 查询结果为多条记录的 SELECT语句 CURRENT形式的 UPDATE语句 CURRENT形式的 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 主变量 [指示变量 ] [,主变量 [指示变量 ]]...。 移动游标指针,然后取当前记录(续) 功能 指定方向推动游标指针,然后将缓冲区中的当前记录取出来送至主变量供主语言进一步处理。 NEXT|PRIOR|FIRST|LAST:指定推动游标指针的方式。 NEXT:向前推进一条记录 PRIOR:向回退一条记录 FIRST:推向第一条记录 LAST:推向最后一条记录 缺省值为 NEXT 移动游标指针,然后取当前记录(续) 说明 (1) 主变量必须与 SELECT语句中的目标列表达式具有一一对应关系 (2) FETCH语句通常用在一个循环结构中,通过循环执行 FETCH语句逐条取出结果集中的行进行处理 (3) 为进一步方便用户处理数据,现在一些关系数据库管理系统对 FETCH语句做了扩充,允许用户向任意方向以任意步长移动游标指针 4. 关闭游标 使用 CLOSE语句 语句格式 EXEC SQL CLOSE 游标名。 功能。数据库基础第三章sql语句(编辑修改稿)
相关推荐
运行时通过数据适配器控制如何创建并生成数据集的数据结构 Visual Basic 示例 C 示例 为 DataSet 指定附加约束 为 DataSet 指定附加约束(续) 为 DataSet 指定附加约束 使用 MissingSchemaAction属性控制数据结构生成 Add 添加时不保存主键信息 AddWithKey 添加时主键信息载入 DataTable 对象 Error
15分钟) 讲授 指令格式 , 方向判断 并用课件进行示范 课件 五、教学设计 教师 : 讲授新系统的刀补与三英系统刀补的区别、使用并用仿真软件演示、解答学生提出的问题 学生:记录并通过对比理解本节知识点 第二阶段 ( 16分钟) 布置课题,学生分组( 1分钟) 编程实例 五、教学设计 分组编程练习,教师巡回指导( 15分钟) 教师 :引导学生,巡回指导,并解答学生的问题
本设备 , 它的通讯范围是: ( 1) 数控系统内部的 CNC装置与数字伺服间的 通信 , 主要通过SERCOS链式网络传送数字伺服控制信息; ( 2) 数控系统与上级主计算机间的通信; ( 3) 与车间现场设备及 I/O装置的通信 , 主要通过现场总线 , 如PROFIBUS等进行通讯; ( 4) 通过因特网与服务中心的通信 , 传递维修数据; ( 5) 通过因特网与另一个工厂交换制造数据。
社:机械工业出版社 ISBN: 9787111326793 出版时间: 20200101 版 次: 1 装 帧:平装 开 本: 16开 教材 GPU高性能运算之 CUDA 作 者:张舒,褚艳利 著 出 版 社:中国水利水电出版社 ISBN: 9787508465432 出版时间: 20201001 版 次: 1 页 数: 276 装 帧:平装 开 本: 16开 阅读 Getting
若是,则拒绝执行该操作。 A22j 数据库系统特点之十一 : 数据恢复 数据库系统具有一个系统恢复子系统,能使系统从软硬件故障 修复后将数据库恢复到正确状态。 例如,当数据库系统正在执 行一个数据库的更新操作时,系统发生了硬件故障,使得构成 这个更新操作的某些基本操作没能完成,从而使数据库处于错 误状态。 当系统故障恢复后,系统恢复子系统必须对数据库实 施修复,使能回复到正确状态。
了解 excel数据处理的应用领域 过程与方法:能利用图表来简单分析事物内在的规律和趋势;能对自己和他人的信息活动的结果进行评价;情感、态度与价值观:通过实例激发和保持对信息技术的求知欲,形成积极主动地学习和使用信息技术参与信息活动的态度 教学重点及解决措施 重点:学会根据数据来创建图表;掌握数据和图表的关系。 能对数据内在关系的需求而选择不同类型的图表措施:通过演示 PPT中的图片和教师讲