SQL> WITH SCOTT_EMP(EMPNO,MGR,ENAME,T) AS(
2 SELECT EMPNO,MGR,ENAME,0 T FROM EMP WHERE MGR IS NULL
3 UNION all
4 SELECT E.EMPNO,E.MGR,E.ENAME,M.T+1 FROM EMP E
5 INNER JOIN SCOTT_EMP M ON E.MGR=M.EMPNO
6 )
7 SELECT * FROM SCOTT_EMP;
WITH SCOTT_EMP(EMPNO,MGR,ENAME,T) AS(
*
ERROR at line 1:
ORA-32033: unsupported column aliasing
SQL>
3 个解决方案
#1
oracle 不支持 with cte 的内部引用自己。
#2
11g已经支持
#3
楼主,你的数据库版本是什么? 你确认是Oracle 11g R2吗?
根据Oracle官方文档描述,貌似Oracle11g R2之后才支持增强型的WITH 语句
根据Oracle官方文档描述,貌似Oracle11g R2之后才支持增强型的WITH 语句
#1
oracle 不支持 with cte 的内部引用自己。
#2
11g已经支持
#3
楼主,你的数据库版本是什么? 你确认是Oracle 11g R2吗?
根据Oracle官方文档描述,貌似Oracle11g R2之后才支持增强型的WITH 语句
根据Oracle官方文档描述,貌似Oracle11g R2之后才支持增强型的WITH 语句