50 likes | 196 Views
数据库的更新操作. 命令格式: UPDATE ON < 关键字段 > FROM < 别名 > REPL < 字段名 1> WITH < 表达式 1> [,< 字段名 2> WITH < 表达式 2> …] 功能 : 用别名数据库数据 , 按照关键字段来更新当前数据库指定字段值 注 : 1. 关键字为两库公共字段 ( 类型 , 宽度 ), 并且 两库必须对关键字索引 2 当前库字段 WITH 别名 表达式 3. 如果 当前库 ( 被更新库 ) 有多个相同字段值 , 只更新第一条记录 ,
E N D
数据库的更新操作 • 命令格式: • UPDATE ON <关键字段> FROM <别名> REPL <字段名1> WITH <表达式1> [,<字段名2> WITH <表达式2> …] • 功能: • 用别名数据库数据, 按照关键字段来更新当前数据库指定字段值 • 注: • 1.关键字为两库公共字段 (类型,宽度), 并且 两库必须对关键字索引 • 2 当前库字段WITH 别名表达式 • 3.如果当前库(被更新库) 有多个相同字段值,只更新第一条记录, • 如果别名库(更新库) 有多个相同关键字段记录,则使当前库各匹配记录依次更新
例题7-5 用XSCJ库文件的总分字段值替换XSDA库文件中对应记录的入学成绩字段. SELE 2 USE XSCJ INDE ON 学号 TO IXSCJ SELE 1 USE XSDA INDE ON 学号 TO IXSDA UPDATE ON 学号 FROM B REPL 入学成绩 WITH B->总分
例7-6现有两个数据库, BOOKS 表示某校订书情况,TJD表示出版社对某些书籍调价后的情况,现要按TJD的单价对BOOKS中的单价和金额重新调整. • SELE 1 • USE BOOKS • INDE ON 书名 TO I BOOKS • SELE 2 • USE TJD • INDE ON 书名 TO I TJD • SELE 1 • UPDAT ON 书名 FROM TJD REPL 单价WITH B->单价, 金额WITH 册数*单价 • (用TJD 中的单价替换BOOKS 中的单价,并用替换好的单价来从新计算库中的金额)
D1 名称 数量 铅笔 3 铅笔 2 毛笔 1 粉笔 10 圆珠笔 5 D2 名称 数量 铅笔 2 毛笔 2 粉笔 10 练习4 有两个库D1 与 D2,内容如下:
写出结果 • SELE 1 • USE D1 • INDE ON 名称 TO ID1 • SELE 2 • USE D2 • INDE ON 名称 TO ID2 • UPDAT ON 名称 FROM A REPL 数量WITH 数量+A->数量