首页 >数据库 >mysql教程 >为什么我的 Oracle 11g'INSERT SELECT”语句返回 ORA-00936 错误?

为什么我的 Oracle 11g'INSERT SELECT”语句返回 ORA-00936 错误?

Susan Sarandon
Susan Sarandon原创
2025-01-02 19:03:41581浏览

Why is my Oracle 11g

对 Oracle 11G 中的“INSERT SELECT”语句进行故障排除

尝试在 Oracle 11G 中执行以下“INSERT SELECT”语句:

insert into table1 (col1, col2) values (select t1.col1, t2.col2 from oldtable1 t1, oldtable2 t2);

但是,该语句返回一个ORA-00936 错误:“缺少表达式。”

分析和解决

经过仔细检查,很明显该语句在语法上不正确。具体来说,“INSERT SELECT”语句中不需要“VALUES”关键字。正确的语法如下:

insert into table1 (col1, col2) 
select t1.col1, t2.col2 
from oldtable1 t1, oldtable2 t2

删除“VALUES”关键字后,该语句执行应该不会出错。

以上是为什么我的 Oracle 11g'INSERT SELECT”语句返回 ORA-00936 错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn