當從Oracle 10g中遷移到11g中,我有一個存儲過程語法,如:的Oracle 11g別名查詢
select * from table1
union
select t,y from
(select * from table2)aliasQuery
where t=aliasQuery.t
查詢效果很好按10g但11克返回aliasQuery沒有定義的錯誤。
也許這種語法在11g中不再支持,或者有一些缺失的數據庫配置?
編輯
完整的查詢是:
select *
from table1
union
select t, y
from (select *
from table2) aliasQuery
where (select max(t)
from (select t
from table3
where table3.t = aliasQuery.t)
)>10
該語法在11g中正常工作。你說它是存儲過程的一部分,你能提供所有的代碼嗎?另外,你能提供返回的確切錯誤嗎? – 2012-02-15 10:29:34
SELECT * FROM表1 工會 選擇T,Y從 (SELECT * FROM表2)aliasQuery 其中(選擇從最大值(T)(從表3,其中表3噸= aliasQuery.t) – Hadad 2012-02-15 10:54:06
錯誤選擇噸:無效識別符aliasQuery.t – Hadad 2012-02-15 10:56:38