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

为什么我的 Oracle 11g INSERT SELECT 语句出现 ORA-00936 错误?

Susan Sarandon
Susan Sarandon原创
2024-12-29 17:50:11634浏览

Why Am I Getting an ORA-00936 Error with My Oracle 11g INSERT SELECT Statement?

Oracle 11G 中的 INSERT SELECT 语句故障排除

尝试在 Oracle 11G 中执行 INSERT SELECT 语句时,您可能会遇到“ORA- 00936:缺少表达式”错误。此错误通常表示语句语法存在问题。

要解决此问题,请仔细检查语句。一种常见错误是在 INSERT SELECT 语句中包含 VALUES 关键字。在 Oracle 中,VALUES 关键字仅在将显式值插入表中时使用,而不是在从另一个表中选择值时使用。

INSERT SELECT 语句的正确语法是:

INSERT INTO table_name (column_list)
SELECT column_list
FROM source_table;

因此,该语句应修改如下:

INSERT INTO table1 (col1, col2)
SELECT t1.col1, t2.col2
FROM oldtable1 t1, oldtable2 t2;

此更正后的语法应该成功执行 oldtable1 之间的笛卡尔连接和 oldtable2 并将结果行插入到 table1 中。

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

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