Sql 使用列操作将数据从表传输到更大的表

Sql 使用列操作将数据从表传输到更大的表,sql,plsql,oracle11g,Sql,Plsql,Oracle11g,以下问题已简化: 我有3个表,表1,映射表和表2 表1将包括3列——名字、姓氏和日期 表2将包括4列-id(从序列、名字、姓氏和日期中获取值) mappingTable将包括两列(姓氏和姓氏) 此外— 日期在表1中可以为空,但必须有一些值(如今天的日期)在表2中 问题是: 新表(表2)将包含原始表中存在的列(first_name),这些列需要进行一些基本转换,如映射(last_name)和添加默认值(date),当然还需要使用序列(id) 我正在考虑使用带有循环的过程,但我不知道如何向新表插

以下问题已简化:

我有3个表,表1,映射表和表2

  • 表1将包括3列——名字、姓氏和日期
  • 表2将包括4列-id(从序列、名字、姓氏和日期中获取值)
  • mappingTable将包括两列(姓氏和姓氏)
此外— 日期在表1中可以为空,但必须有一些值(如今天的日期)在表2中

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


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

这听起来像是带有联接的标准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  

您正在查找
INSERT
语句(
INSERT INTO table 2…
)?