通过列操作将数据从表传输到更大的表

时间:2018-05-29 20:41:00

标签: sql plsql oracle11g

简化了以下问题 -

我有3个表,table1,mapping_table和table2。

  • 表1将包括3列 - 名字,姓氏和日期。
  • 表2将包含4列 - id(从序列中获取值,名字,last_name_in_germen和日期)。
  • mappingTable,包含2列(姓氏和ast_name_in_germen)。

另外 - table1中的日期可以为空,但必须有一些值(如今天的日期)是table2。

问题是 - 新表(table2)将包含原始列(first_name)中的列,需要进行一些基本转换的列,如映射(last_name)和添加默认值(日期),当然还要使用序列(id) )。

我正在考虑使用带循环的过程,但我不知道如何在新表中插入行。

1 个答案:

答案 0 :(得分:0)

这听起来像带有连接的标准INSERT-SELECT?

insert into table2
select my_sequence.nextval,
       table1.first_name,
       mappingTable.last_name_in_germen,
       table1.date
from   table1,
       mappingTable 
where  table1.last_name = mappingTable.last_name