Sql 使用自动生成的ID将数据从一个表插入另一个表

Sql 使用自动生成的ID将数据从一个表插入另一个表,sql,oracle,Sql,Oracle,我有一个表资产,它有一个属性ASSET_ID,它是通过序列生成的唯一ID。我可以插入一行 insert into ASSET (id, name) values (default, "john") 我的所有名称都存储在另一个名为staging的表中,因此我需要执行如下操作,将默认参数指定给第一个字段,并将staging表的内容指定给name insert into ASSET (id, name) values ( default, select * from

我有一个表资产,它有一个属性ASSET_ID,它是通过序列生成的唯一ID。我可以插入一行

insert into ASSET (id, name)
values (default, "john")
我的所有名称都存储在另一个名为staging的表中,因此我需要执行如下操作,将默认参数指定给第一个字段,并将staging表的内容指定给name

insert into ASSET (id, name)
   values (
      default, 
      select * from STAGING)
我怎样才能做到这一点呢?

只需将id从语句中删除,然后使用insert。选择:


这给了我00947-没有足够的值。但是,当显式指定my的“默认”值时,可以避免这种情况ID@notverygood . . . 这个查询中有足够的值,所以我不认为这可能是错误。您的查询必须不同。
insert into asset (name)
    select name
    from staging;