INSERT SELECT语句在Oracle 11G中
我试图在Oracle 11g中运行一个非常简单的sql语句。
insert into table1 (col1, col2) values (select t1.col1, t2.col2 from oldtable1 t1, oldtable2 t2);
非常简单的查询。 笛卡尔联接旧表1到旧表2,将结果值放入表1中。
我已经自己运行子查询,它完美的工作。
select t1.col1, t2.col2 from oldtable1 t1, oldtable2 t2
当我尝试运行完整的语句时,出现以下错误:
SQL Error: ORA-00936: missing expression
00936. 00000 - "missing expression"
我无法让它在MySql中工作。 我的说法有些不对,但我不确定它是什么。
您的查询应该是:
insert into table1 (col1, col2)
select t1.col1, t2.col2
from oldtable1 t1, oldtable2 t2
即没有VALUES
部分。
摆脱values
关键字和parens。 你可以在这里看到一个例子。
使用'select'作为源时,不需要'values'子句。
insert into table1 (col1, col2)
select t1.col1, t2.col2 from oldtable1 t1, oldtable2 t2;
链接地址: http://www.djcxy.com/p/94323.html
上一篇: INSERT SELECT statement in Oracle 11G
下一篇: How can I copy data from one column to another in the same table?