我執行以下查詢:無效的SQL語句「解釋計劃使用」的聲明
explain plan for
with Foo
as (
select * from my_table
)
select * from Foo
where x = 7;
這導致Oracle10g中一個無效的SQL語句的例外。沒有解釋計劃,with語句正確執行。爲什麼這個錯誤發生在SQL Developer的上下文中?
我執行以下查詢:無效的SQL語句「解釋計劃使用」的聲明
explain plan for
with Foo
as (
select * from my_table
)
select * from Foo
where x = 7;
這導致Oracle10g中一個無效的SQL語句的例外。沒有解釋計劃,with語句正確執行。爲什麼這個錯誤發生在SQL Developer的上下文中?
你有一個額外的括號:
explain plan for
with Foo
as (
select * from my_table) -- < remove this
)
select * from Foo
where x = 7;
對不起,這是一個錯字,因爲這是通過兩個獨立的網絡。 – Woot4Moo
不知道這細微之處,但有另一種方式來寫,這將解釋。
Select *
From (
Select * From my_table
) Foo
Where Foo.x = 7;
我從條款敬而遠之,因爲他們沒有很好的端口,在我的經驗,不要被優化以及動態FROM子句evaulated,但這些都是舊的經驗。
@ÁlvaroG.Vicario抄錄錯誤,已修復 – Woot4Moo
這是完整的查詢嗎?當我在Oracle上使用我的表來運行它時,它沒有任何錯誤。 –
@rs是完整的查詢。 Sql Developer向我拋出一個例外。 – Woot4Moo