【Oracle】更新数据表字段值

  1. 新增数据列,更新数据列内容(直接更新):

SELECT * FROM TEMP;
ALTER TABLE TEMP ADD A NUMBER;
UPDATE TEMP T SET T.A=T.B*2;
COMMIT;
  1. 新增数据列,更新数据列内容(关联其他表更新):

  • 目标:根据TEMP_2表中的A列的值,更新至TEMP_1表里新增的A列;

  • 已知:TEMP_2表和TEMP_1表中有可关联的唯一主键:ID;

SELECT * FROM TEMP_1;
SELECT * FROM TEMP_2;ALTER TABLE TEMP_1 ADD A NUMBER;
UPDATE TEMP_1 T SET T.A=(SELECT L.A FROM TEMP_2 WHERE T.ID=L.ID);
COMMIT;
  • 注意:如果TEMP_2表的ID不是唯一的,有重复数据的话,会在更新的时候报错,可以写成以下的形式:

ALTER TABLE TEMP_1 ADD A NUMBER;UPDATE TEMP_1 T 
SET T.A=(SELECT L.A FROM (SELECT DISTINCT ID,A FROM TEMP_2)L WHERE T.ID=L.ID);COMMIT;

本文链接:https://my.lmcjl.com/post/3019.html

展开阅读全文

4 评论

留下您的评论.