【发布时间】:2021-02-24 22:44:45
【问题描述】:
我们有以下场景:
- 创建表
create table tt (id number, name varchar2(30), note varchar2(4)); insert into tt values (1,'AC','m'); insert into tt values (2,'Test','f'); - 我们想从表 tt 中选择记录并通过更新一个字段值来插入另一条记录:
INSERT INTO tt SELECT id, 'x1', note FROM tt where id=1;
由于我们的表有很多列,我们希望找到一种方法来完成上述操作而不在 step2 的 sql 中列出所有列名。 有什么办法可以帮助解决吗?
【问题讨论】:
-
好像可以用
MERGE.. -
您必须指定源列和目标列,除非它们保证相同,在这种情况下您可以
select *。但是,两个表多久可以保证以相同的顺序具有相同的列?很少,我想。