在ORACLE中使用SELECT插入

在ORACLE中使用SELECT插入,oracle,Oracle,我试图使用select一次将多行插入到一个表中,如下所示 insert into myTable values(myTable_Seq.nextval,100,select column1 from anotherTable where column1 not in(10,20)); 这里我的最后一个值是从另一个带有where条件的表中选择值 我在这里失败了。它给出了缺少的表达式错误 我们可以这样做,还是必须做一个forloop 提前感谢。您需要删除值,并在另一个表的查询中使用序列值和固定值:

我试图使用select一次将多行插入到一个表中,如下所示

insert into myTable values(myTable_Seq.nextval,100,select column1 from anotherTable where column1 not in(10,20));
这里我的最后一个值是从另一个带有where条件的表中选择值

我在这里失败了。它给出了缺少的表达式错误

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


提前感谢。

您需要删除
,并在
另一个表的查询中使用序列值和固定值

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

您需要删除
,并在
另一个表
的查询中使用序列值和固定值:

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

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

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

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

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

关于如何在stackoverflow上执行此操作的示例并不缺乏(请参见此处Ryan的答案,)。关于如何在stackoverflow上执行此操作的示例并不缺乏(请参见此处Ryan的答案,)。