ORA-00904: "SYS_CONNECT_BY_PATH": invalid identifier 0 7 5,202

by 박현갑 [Oracle 에러코드] SYS_CONNECT_BY_PATH [2011.07.04 17:19:18]



아래처럼 오라클9i인데 쿼리가 안먹힙니다.
해결방안 좀 충고해주세요.

--------------------------------------------------------------------------------------------------------------------------

SQL*Plus: Release 9.2.0.6.0 - Production on Mon Jul 4 17:17:12 2011

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.


Connected to:
Oracle9i Enterprise Edition Release 9.2.0.6.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.6.0 - Production

SQL> SELECT LPAD(' ', 2*level-1)||SYS_CONNECT_BY_PATH(tel_ofc_name, '/') "Path"
  2  FROM tb_Ofc
  3  START WITH tel_ofc_name = '백령지점'
  4  CONNECT BY PRIOR tel_ofc_cd = p_tel_ofc_cd;
SELECT LPAD(' ', 2*level-1)||SYS_CONNECT_BY_PATH(tel_ofc_name, '/') "Path"
*
ERROR at line 1:
ORA-00904: "SYS_CONNECT_BY_PATH": invalid identifier

by TeLl2 [2011.07.04 17:40:04]
해당함수는 10g부터 지원하는 함수 입니다.
원하시는 기능을 함수로 직접 만드시거나 쿼리로 구현 하셔야 합니다.

by 마농 [2011.07.04 23:33:33]
이상하네요. 9i 부터 sys_connect_by_path 지원하는걸로 아는데요.

by 마농 [2011.07.05 09:29:12]
SELECT empno, ename
--, SYS_CONNECT_BY_PATH(ename, '/') "Path"
, (SELECT MIN(DECODE(level, 5, '/' || ename))
|| MIN(DECODE(level, 4, '/' || ename))
|| MIN(DECODE(level, 3, '/' || ename))
|| MIN(DECODE(level, 2, '/' || ename))
|| MIN(DECODE(level, 1, '/' || ename))
FROM emp
START WITH empno = a.empno
CONNECT BY empno = PRIOR mgr
) "Path"
FROM emp a
START WITH mgr IS NULL
CONNECT BY PRIOR empno = mgr
;

by 행인 [2011.07.05 09:48:22]
9i 부터 지원 맞는데. 9i 아닌거 아닌지..

select * from v$version; 버전 확인해보세요.

by ㅌ [2011.07.05 10:43:03]
제가 9.2.0.4부터 썻으니까 지원되는건 맞습니다.

by ㅌ [2011.07.05 10:51:07]
에러는 열명 부적합이니 tel_ofc_name이 맞는지 확인하시고 "Path"를 "Path1"으로 변경해서 테스트 해보세요

by TeLl2 [2011.07.05 10:56:14]
확인해 보니 9i 부터 지원하네요...
제가 잘 못 알고 있었습니다...
혼란을 드려 죄송합니다....(--) (__)
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입