使用另一个值插入表中

use*_*592 0 sql oracle

我试图使用以下命令执行插入:

insert into table2(COL1, COL2, COL3, COL4) values((select COL1 FROM table1 WHERE COL1 = 121212),120,10,"Y");
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

第1行的错误:ORA-00984:此处不允许列

有帮助吗?

Jus*_*ave 5

INSERT INTO table2( col1, col2, col3, col4 )
  SELECT col1, 120, 10, 'Y'
    FROM table1
   WHERE col1 = 121212
Run Code Online (Sandbox Code Playgroud)

应该管用.

  • 除此之外,OP的代码不起作用的原因是因为`select`不返回单个结果,而是返回一组结果,因此您不能将`select`用作单个值.但是,您可以在表中插入一组数据,其语法在Justin的答案中. (2认同)