roa*_*242 2 sql oracle oracle10g
如何使用另一个表中的数据行更新完整的数据行.
例:
Table A
ID | NAME | ... |
----------------------------
1 | Test | ... |
2 | Test2 | ... |
Table B
ID | NAME | ... |
----------------------------
1 | Test97 | ... |
Run Code Online (Sandbox Code Playgroud)
所以我想将表B的单行内容复制到表A并覆盖现有值.我不想命名所有列.表A和表B的内容是多余的.
总结: 我希望将以下INSERT语句等效为UPDATE语句:
INSERT INTO destTable
VALUES (SELECT * FROM TABLE2)
FROM srcTable
Run Code Online (Sandbox Code Playgroud)
任何提示,甚至告诉我它不可能,都非常适合.
您可以更新一组列(您仍然需要列出一次列):
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1422 次 |
| 最近记录: |