我正在执行以下查询:
explain plan for
with Foo
as (
select * from my_table
)
select * from Foo
where x = 7;
这导致Oracle10g中的SQL语句异常无效。没有解释计划,with语句正确执行。为什么在SQL Developer的上下文中会发生此错误?
答案 0 :(得分:1)
你有一个额外的括号:
explain plan for
with Foo
as (
select * from my_table) -- < remove this
)
select * from Foo
where x = 7;
答案 1 :(得分:0)
不确定这种细微差别,但还有另一种方法可以解释。
Select *
From (
Select * From my_table
) Foo
Where Foo.x = 7;
我远离条款,因为它们没有很好地移植,根据我的经验,不会被优化器和条款动态调整,但这些都是较旧的经历。