4.7.3 更新查询
表中少量、没有规律的数据需要更新,可以在数据表视图中直接修改;如果需要对表中一批满足一定条件的数据更新,最快捷方法就是创建“更新查询”。
“更新查询”是按照一定条件把需要更新的数据查找出来,再对这些数据进行更新处理。
更新查询注意事项:
(1)更新的数据同时出现在多张表中,需要同步更新,则必须建立表之间的关系,以及“实施参照完整性”和“级联更新相关记录”。
(2)更新数据是不可逆的,更新之前一定要认真检查,最好备份源数据表。
任务4.16 在“教学信息管理3”中,创建名为“成绩更新查询”,把“成绩表”中所有女生“数据库技术与应用”成绩加5分(不包括成绩为空的记录),高最分值为100。
分析:
先查询满足条件的记录,再更新这些记录,由于是加分,当加分后,成绩超过100分的以100分计,使用条件函数,控制加分后成绩不大于100分。
成绩不为空的条件为“Not Is Null”。
操作步骤:
(1)打开“教学信息管理3”数据库,单击“创建”选项卡→“查询”组→“查询设计”,打开“查询1”的设计视图,添加“学生表”、“成绩表”和“课程表”,并自动建立关系。
(2)添加字段“性别”、“课程名称”和“成绩”。
(3)单击“查询工具/设计”上下文选项卡→“查询类型”组→“更新”,在字段设计区中添加“更新到”行。
在“更新到”行的“成绩”列单元格中输入“iif([成绩]>=95,100,[成绩]+5)”。
在“条件”行的“性别”列单元格中输入“女”,“课程名称”列单元格中输入“数据库技术和应用”,“成绩”列单元格中输入“Not Is Null”,如图4-67所示。
(4)单击“查询工具/设计”上下文选项卡→“结果”组→“视图”下拉按钮,在列表框中选择“数据表视图”,显示查询数据表视图,如图4-68所示,此数据将更新。
图4-67 设计更新查询
(5)切换到设计视图,单击“查询工具/设计”上下文选项卡→“结果”组→“运行”,弹出“更新记录”提示框。如图4-69所示,单击“是”按钮,“成绩表”中成绩更新。
图4-68 查询更新的数据
图4-69 更新记录提示框
提示:运行一次,成绩更新一次。
(6)单击“快速访问工具栏”→“保存”按钮,弹出“另存为”对话框,输入查询名称为“成绩更新查询”,单击“确定”按钮。