首页 > 解决方案 > ORA-00907 在 SELECT 中缺少右括号

问题描述

我在 SELECT 语句中为这个错误挣扎了一段时间;快速搜索了几篇具有相同错误的帖子,但这是一个非常普遍的错误,没有人描述这种特殊情况。

select 'hello' as some_value,
 (
   select min(table_name) from user_tables order by table_name
 ) as min_tab
from dual;
ORA-00907: 缺少右括号
00907. 00000 - “缺少右括号”
*原因:    
*行动:
行错误:3 列:44

为什么?(当然很明显,现在我把它归结为一个最小的例子)

标签: oracle

解决方案


该错误非常无用,它的真正含义是在 SQL 中的某个点上发生了其他事情,而右括号将是唯一有效的事情。

在这里,问题是ORDER BY在这个位置是不合法的。

select 'hello' as some_value,
 (
   select min(table_name) from user_tables
 ) as min_tab
from dual;

推荐阅读