请注意:我在问我想要回答的问题。我知道这个问题意味着数据库设置不佳。所以我会否决任何建议改变表格设置方式的答案。
我需要复制一堆行,同时更改一个值。
name col1 col2
dave a nil
sue b nil
sam c 5
需要变成:
name col1 col2
dave a nil
dave a a
sue b nil
sue b a
same c 5
此表中所有条目的 IE,其中
col2 is null
, 在表中创建一个新条目 name
和 col1
是复制的,col2
是 a
.
最佳答案
用:
INSERT INTO table
(name, col1, col2)
SELECT t.name, t.col1, 'a'
FROM TABLE t
WHERE t.col2 IS NULL
这是假设
name
或 col1
列是主键或对两者都具有唯一约束。
关于sql - Oracle:在更新一个字段时复制行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3095998/