Q&A

  • TQuery, SQL에 Outer Join 쓰면 에러가 나요...
델파이5 + 오라클8i 로 프로그램 개발중입니다...



그런데 TQuery의 SQL에 Outer Join 문자 (+)를 쓰거나...

NULL을 쓰면 에러가 나네여...



Invaild use of keyword

Token: (+)



이런 식으로...



뷰테이블을 만들면 좋겠지만...

테이블 이름이 고정된 것이 아니라서

어쩔 수 없이 SQL에 코딩을 해야만 하는데...

에러가 나니...



SELECT T1.AA,

T1.BB,

T2.CC

DECODE(T1.DD, 0, '*', NULL) AS EE

FROM TABLE1 T1,

TABLE2 T2

WHERE T1.AA = T2.AA(+)

AND T1.BB = T2.BB(+)



간단하게 뭐 이런 SQL문을 썼다고 하면...

4번째 줄에서 NULL을 썼다고 에러나고...

7, 8번째 줄에서 (+)를 썼다고 에러가 나고 그렇습니다...

어떻게 하면 좋을지...???



5번째 줄에 있는 테이블 이름은 계속 바뀌는거라...

델파이에서 따로 코딩을 해야만 하구요...





그리고 또 한가지...

델파이 문제가 아니고 오라클 문제라서 여기서 질문하기 쫌 그렇지만...



오라클 8i에서는 SELECT 문에 서브쿼리가 되는데...

오라클 8 에서는 안되네요...



예를들어...



SELECT T1.AA,

T1.BB,

(SELECT CC

FROM TABLE2

WHERE BB = T1.BB)

FROM TABLE1 T1



뭐 이런 코드가 있다고 했을 때

오라클 8i에서는 전혀 문제가 없이 결과가 나오는데

오라클 8 에서는 서브쿼리 SELECT 에서 '식이 없습니다'라고 에러가 뜹니다...



오라클 8i에서 PL/SQL 기능도 개선이 된 것인지...?

1  COMMENTS
  • Profile
    하늘맥 2000.11.21 19:08
    파도랑 wrote:

    > 델파이5 + 오라클8i 로 프로그램 개발중입니다...

    >

    > 그런데 TQuery의 SQL에 Outer Join 문자 (+)를 쓰거나...

    > NULL을 쓰면 에러가 나네여...

    >

    > Invaild use of keyword

    > Token: (+)

    >

    > 이런 식으로...

    >

    > 뷰테이블을 만들면 좋겠지만...

    > 테이블 이름이 고정된 것이 아니라서

    > 어쩔 수 없이 SQL에 코딩을 해야만 하는데...

    > 에러가 나니...

    >

    > SELECT T1.AA,

    > T1.BB,

    > T2.CC

    > DECODE(T1.DD, 0, '*', NULL) AS EE

    > FROM TABLE1 T1,

    > TABLE2 T2

    > WHERE T1.AA = T2.AA(+)

    > AND T1.BB = T2.BB(+)

    >

    > 간단하게 뭐 이런 SQL문을 썼다고 하면...

    > 4번째 줄에서 NULL을 썼다고 에러나고...

    > 7, 8번째 줄에서 (+)를 썼다고 에러가 나고 그렇습니다...

    > 어떻게 하면 좋을지...???

    >

    > 5번째 줄에 있는 테이블 이름은 계속 바뀌는거라...

    > 델파이에서 따로 코딩을 해야만 하구요...

    >

    >

    > 그리고 또 한가지...

    > 델파이 문제가 아니고 오라클 문제라서 여기서 질문하기 쫌 그렇지만...

    >

    > 오라클 8i에서는 SELECT 문에 서브쿼리가 되는데...

    > 오라클 8 에서는 안되네요...

    >

    > 예를들어...

    >

    > SELECT T1.AA,

    > T1.BB,

    > (SELECT CC

    > FROM TABLE2

    > WHERE BB = T1.BB)

    > FROM TABLE1 T1

    >

    > 뭐 이런 코드가 있다고 했을 때

    > 오라클 8i에서는 전혀 문제가 없이 결과가 나오는데

    > 오라클 8 에서는 서브쿼리 SELECT 에서 '식이 없습니다'라고 에러가 뜹니다...

    >

    > 오라클 8i에서 PL/SQL 기능도 개선이 된 것인지...?





    첫번째 질문은 제가 똑같이 테스트 하니까 별이상없이 되더군요

    두번째 SELECT 에서 서브쿼리 사용하는것은

    8i 에서 새로 지원되는 기능이라고 들었습니다.. 8 버전에서 다른방법으로

    코딩해야 될것 같네여...