> 사용하시는 버전이 오라클 8.x 이하죠?
> 8.x 버전부터는 된다고 하더군요..
> 저도 7.3.4 여서 안돼더라구요..
> (리눅스에다 8.0.5EE 깔아서 해보니까 잘 되더군요..)
>
> > 업무중에 다음과 같은 문제가 발생했습니다.
> > SQL> SELECT n, ID_CODE
> > 2 FROM ( SELECT ROWNUM n, ID_CODE
> > 3 FROM T3_POI
> > 4 ORDER BY ID_CODE ASC )
> > 5 WHERE ( P.n BETWEEN 26 AND 50)
> > 6 ORDER BY P.n;
> > ORDER BY ID_CODE ASC )
> > *
> > 4행에 오류:
> > ORA-00907: 우괄호가 없습니다.
> >
> > 위의 ORDER BY문을 빼면 문제가 발생하지 않습니다.
> > 오라클에서는 서브쿼리에서 ORDER BY를 쓸 수 없는것인가요?
> >
view 속의 ID_CODE 를 유일한 코드만 뽑아 낸다면
GROUP BY 를 사용 한다든지 아니면 ID_CODE 가 인덱스가 되어 있는거 같은되
구지 ORDER BY 로 소트를 할필요가 있는지 모르겠군요 ???
안되어 있다면 아래 방법은 어떠하신지
SELECT P.n, P.ID_CODE
FROM
( SELECT ROWNUM n, ID_CODE
FROM
( SELECT ID_CODE
FROM T3_POI
GROUP BY ID_CODE ) ) P
WHERE P.n BETWEEN 26 AND 50 ;
조금 이나마 도움이 되셨으면 ...
** 추신 **
대청 에서 출간된 "오라클 SQL 튜닝 실무 사례" 란 책을 보시면 많은
도움이 되리라 보여집니다.
|