gpt4 book ai didi

sql - 如何在ORACLE中一次更新所有列而不指定列名

转载 作者:行者123 更新时间:2023-12-04 23:43:41 27 4
gpt4 key购买 nike

如何一次更新所有列而不指定列名。

说我有 table A

ID  NAME  AGE
21 MATT 45

B
ID NAME   AGE
21 SCOTT 24

我期待什么
update table A 
set A.columns=B.columns

基本上我正在尝试同步两个表。

最佳答案

据我所知,没有指定列名就无法更新表列值。你的目的是让A表和B表有相同的值,然后你可以删除A表中的所有行,并将数据复制到A表中。

delete from A;
insert into A select * from B;
commit;

如果您有一些理由只使用 update声明,并且有很多列,那么你可以 生成 update使用字典的语句。
select 'A.'||column_name||'=B.'||column_name||','
from all_tab_columns
where owner = 'your schema name'
and table_name = 'A';

您执行查询并复制结果并进行编辑。
update A
set <paste the result of previous query here>
;

关于sql - 如何在ORACLE中一次更新所有列而不指定列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25680194/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com