如何在oracle中将一列数据复制到另一列

如何在oracle中将一列数据复制到另一列,oracle,Oracle,我想将一列数据复制到另一列中,而不使用 替换旧数据。例如: 表-1 Column1 Column2 SONY Sony Desc Lenovo Lenovo Desc Nokia Nokia Desc 我想要结果 Column 1 column2 SONY Sony Desc Sony Desc Lenovo Lenovo Desc Lenovo Desc Nokia

我想将一列数据复制到另一列中,而不使用 替换旧数据。例如:

表-1

Column1    Column2 

SONY       Sony  Desc
Lenovo     Lenovo Desc 
Nokia      Nokia Desc 
我想要结果

Column 1        column2
SONY            Sony  Desc
Sony  Desc
Lenovo          Lenovo Desc 
Lenovo Desc      
Nokia            Nokia Desc 
Nokia Desc
我已尝试我的查询不匹配

Update table1 set column1 = column2

如果要添加行,则需要
插入
,而不是
更新
。此语句将添加具有从表中另一行的
column2
复制的
column1
值以及从序列中获取的主键(
export\u config\u id
)值的新行(
seq\u export\u config\u id
):


如果
column1
具有非空约束,或者如果它具有主键约束,则无法插入空值。您需要过滤掉空值:

INSERT INTO table1 (column1)
  SELECT column2 
   FROM table1 
  WHERE column2 IS NOT NULL;

是的,我已经尝试过了,但是我没有得到上面的结果,因为我需要显示EXTJS树面板第1列SONY作为父节点,SONY Desc作为子节点,如果有其他方法可以实现的话?“是”并不是“你尝试过什么”问题的答案。更新您的问题以包含您拥有的代码,该代码不起作用。还包括该代码的(不正确)结果。当你修改问题时,不要把诸如编辑或更新之类的东西放在修改后的问题中。这个网站有编辑历史,那些需要查看差异的人可以从那里获得信息。是的,你的权利,我已经尝试了很多方法,但仍然无法得到我预期的结果?我尝试过但不符合我要求的另一个查询:合并列:从表1中选择column1 | | column2我无法插入空列数据请告诉我如何在不允许空值的情况下插入数据?@sameer,您需要过滤掉空值,请参阅我的答案。'SQL错误:ORA-00001:唯一约束(ECS\u HIS.PK\u T\u KPI\u自动导出\u配置)违反了“”,因为我没有序列列。创建序列列后,我已经完成了。我是否可以按排序方式插入?@sameer,如果序列顺序需要与新插入行的
列2
值的字母顺序匹配,则可以在
选择中使用例如
按列排序2
。但是,您没有我只担心在查询表时对数据进行排序,而不是在向表中插入行时。感谢您的回复,但是column1是可空的,column2是可空的。使用上述查询后,我仍然无法插入数据?**SQL错误:ORA-01400:无法将空值插入(“ECS_HIS”。“T_KPI_AUTO_EXPORT_CONFIG”。“导出配置ID”)**01400.00000-“无法将NULL插入(%s)"*原因:试图将NULL插入以前列出的对象。*操作:这些对象不能接受NULL值。我还引用此链接:@sameer,您的表中是否有可能导致此问题的触发器?抱歉,我没有创建任何触发器?如果有其他方法,我仍然无法插入数据?@sameer,请描述这两种方法桌子。
INSERT INTO table1 (column1)
  SELECT column2 
   FROM table1 
  WHERE column2 IS NOT NULL;