如何使用另一个表中的数据行来更新完整的数据行。
例子:
Table A
ID | NAME | ... |
----------------------------
1 | Test | ... |
2 | Test2 | ... |
Table B
ID | NAME | ... |
----------------------------
1 | Test97 | ... |
所以我想将表B的单行内容复制到表A并覆盖现有值。我不想命名所有列。表A和B的内容是多余的。
总结: 我想要一个等效于以下 INSERT 语句的 UPDATE 语句:
INSERT INTO destTable
VALUES (SELECT * FROM TABLE2)
FROM srcTable
任何提示,甚至告诉我这是不可能的,都是非常适用的。
最佳答案
您可以更新一组列(您仍然需要列出一次列):
SQL> UPDATE table_a
2 SET (ID, NAME, etc)
3 = (SELECT * FROM table_b WHERE table_b.id = table_a.id)
4 WHERE table_a.id IN (SELECT ID FROM table_b);
1 row updated
关于sql - 将单个数据行从表更新到另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2356056/