Proc에서 오라클 함수를 사용하는데요.ㅜ.ㅡ 좀봐주세요 0 3 1,516

by 여경구 [2007.02.21 13:47:28]


 select to_date(to_char(dt.dt, 'YYYYMMDD'), 'YYYYMMDD')                         days
               , dense_rank() over(order by trunc(((dt.dt - to_date(:sStdt, 'YYYYMMDD')))/7) ) as rk
               from
               (select to_date(:sStdt,'YYYYMMDD')+(rownum-1)  dt
                  from dual
                connect by level <=53
                ) DT
               WHERE DT.DT Between TO_DATE(:sStdt, 'YYYYMMDD')
                               AND TO_DATE(:sEndt, 'YYYYMMDD')

 

 

Query는 위와 같구요..

그런데.... pc파일에서 이게 안먹히거든요...

dense_rank()  이함수를 사용할수 없는건가요?

by finecomp [2007.02.21 00:00:00]
위의 Proc는 프로시져가 아닌 Pro*C를 의미하는 거겠죠?
Pro*C compiler에서 new feature를 지원하지 않는가봅니다.
Dynamic Query로 str변수에 넣은 뒤 Dynamic Query 수행방법에 따라 parse ~ excute해보세요.

by 풍요로운 [2007.02.21 00:00:00]
Pro*C 에서는 Oracle 7.X 버전까지 지원됩니다.
8이상부터는 Dynamic SQL을 작성해야 합니다.

by 여경구 [2007.02.22 00:00:00]
아 ~감사합니다.ㅜ.ㅡ
다이나믹 쿼리로 해결~
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입