Oracle SQL语法:With子句

时间:2011-05-12 10:32:58

标签: sql oracle syntax gsp

我目前正在使用Java版本的General SQL Parser for Oracle来处理一些相对复杂的Oracle SQL查询。

在我的情况下,我无法访问任何Oracle数据库,但只有文件中的SQL语句,我会遇到解析器失败的一些语句,其中一个特别归结为以下内容。

select id from (
with foo as (
    select bar from sometable
)
select *
from foo
)

如果没有嵌套,可以毫无问题地解析with子句。

with foo as (
    select bar from sometable
)
select *
from foo

我在解析器或声明中有错误吗?

最佳, 将

2 个答案:

答案 0 :(得分:2)

这是Oracle中一个非常有效的陈述(我刚试过) 但它可能不是有效的ANSI SQL,这可能是解析器不理解它的原因。

答案 1 :(得分:2)

SQL语句有效,所以我猜解析器无法处理它。

可以肯定的是,尝试在SQL Plus中运行SQL。