델파이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 기능도 개선이 된 것인지...?
> 델파이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 버전에서 다른방법으로
코딩해야 될것 같네여...