(1)修改操作
修改操作用UPDATE语句实现,步骤是:
1.首先用HOLD语句将要修改的元组从数据库中读到工作空间中 //将要修改的记录读到W中,意味着给词条数据加锁避免在操作时其他人操作导致并发情况。
2.然后用宿主语言(关系数据库语言SQL可以嵌入在高级语言的程序中使用,高级语言可以是C、ADA、PASCAL、COBOL、或PL/I等,称为宿主语言。)修改工作空间W中的元组的属性值 //修改我们的数据内容值
3.最后用UPDATE语句将修改后的元组送回到数据库中 //最后从工作空间W中更新到数据库当中
例:把201215127学生从计算机科学系转到信息系
HOLD W (Student.Sno,Student.Sdept):Student.Sno=‘201215127’
//从Student关系中读取201215127学生的数据
MOVE ‘IS’ TO W.Sdept
//用MOVE语句修改工作空间W中的数据,注意现在还并没有更新到数据库当中
UPDATE W
//把修改后的元组送回到Student关系中
(2)HOLD与GET区别:
单纯查询数据用GET语句,HOLD语句是带上并发控制的GET语句
注意:
1.如果修改操作涉及两个关系的话,就要执行两次HOLD-MOVE-UPDATE操作
2.在ALPHA语言中,修改关系主码的操作是不允许的 //不能更新主码唯一ID
3.如果要修改主码值,只能删除整条数据然后把新主码值元组插入到关系中