插入在ORACLE中使用SELECT

时间:2017-06-02 17:24:05

标签: oracle

我试图一次使用select

将MULTIPLE行插入表中
insert into myTable values(myTable_Seq.nextval,100,select column1 from anotherTable where column1 not in(10,20));

这里我的最后一个值是从另一个带有where条件的表中选择值。

我在这里失败了。它表达了错误的表达错误。

我们可以这样做,还是必须做一个forloop。

提前致谢。

2 个答案:

答案 0 :(得分:3)

如果从SELECT插入,则不需要VALUES子句。

INSERT INTO mytable
  SELECT mytable_seq.nextval,
         100,
         column1
    FROM anothertable
   WHERE column1 NOT IN (10,
                         20);

答案 1 :(得分:1)

您需要删除values并使用来自anotherTable的查询中的序列值和固定值:

insert into myTable
select myTable_Seq.nextval,
       100,
       column1
from anotherTable
where column1 not in(10,20)