sql - Oracle:在更新一个字段时复制行

标签 sql oracle plsql insert

请注意:我在问我想要回答的问题。我知道这个问题意味着数据库设置不佳。所以我会否决任何建议改变表格设置方式的答案。

我需要复制一堆行,同时更改一个值。

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 , 在表中创建一个新条目 namecol1是复制的,col2a .

最佳答案

用:

INSERT INTO table
  (name, col1, col2)
SELECT t.name, t.col1, 'a'
  FROM TABLE t
 WHERE t.col2 IS NULL

这是假设 namecol1列是主键或对两者都具有唯一约束。

关于sql - Oracle:在更新一个字段时复制行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3095998/

相关文章:

c# - 通过c#将整数数组传递给oracle过程

c++ - 使用 C++ 连接到 oracle 数据库

plsql - 打开、获取多个变量

java - 正则表达式 - 查找文件中的所有字符串函数参数

sql - 自然连接的维恩图

SQL - 聚合函数中的子查询

python - SQL获取三列最高分不返回必填字段

database - 自动创建数据库表的脚本

sql - 获取一定数量的连续行

php - 需要创建一个 PHP 循环(多次失败后不知道如何继续)