Toad 와 같은 DB관리 도구에서 실행되는 쿼리가 simple_query에서는 에러가납니다.
안녕하세요.
우선 개발환경은 Web 서버는 Ubuntu Server 기반에 Apache2 + PHP5 이구요.
DB 서버는 Oracle 을 사용하고 있습니다.
CI를 이용해서 간단한 Web UI를 작성하다가 기존에 별도로 제작하여 사용중이던 cron을
CI쪽으로 병합하는 과정에서 문제가 생겨서 질문드립니다.
문제가 되는 쿼리는 아래와 같습니다.
MERGE INTO MLMS_DAILY_STAT AA
USING ( SELECT A.DET_DATE, COUNT (A.DET_DATE) AS ABN_CNT
FROM ( SELECT TO_CHAR (
TO_DATE ('1970-01-01', 'YYYY-MM-DD')
+ NUMTODSINTERVAL (MAX (UD_REGTIME), 'SECOND')
+ NUMTODSINTERVAL (9, 'HOUR'),
'YYYY-MM-DD')
AS DET_DATE
FROM MLMS_URI_DETECTION
WHERE UD_REGTIME > (TRUNC(SYSDATE - 1) - TO_DATE('01-01-1970 09:00:00', 'MM-DD-YYYY HH24:MI:SS')) * 86400
GROUP BY UW_IDX, U_IDX) A
GROUP BY A.DET_DATE
ORDER BY A.DET_DATE) BB
ON (AA.DS_DATE = BB.DET_DATE)
WHEN MATCHED
THEN
UPDATE SET AA.DS_ABN_CNT = BB.ABN_CNT
WHEN NOT MATCHED
THEN
INSERT (AA.DS_DATE, AA.DS_ABN_CNT)
VALUES (BB.DET_DATE, BB.ABN_CNT)
이 쿼리를 독립적으로 PHP OCI 모듈을 이용해서 작업할 때는 문제없이 동작하고 있었으며,
Toad와 같은 DB관리 도구에서도 정상적으로 실행되는 쿼리입니다.
헌데 이 쿼리를 CI쪽으로 가져와서 simple_query() 함수의 인자로 전달하면 그냥 FALSE가 나타납니다.. ㅠ
해당 쿼리를 query() 함수에 전달하면 아래와 같은 오류가 나타나구요.. ㅠㅠ
(콘솔화면에서 실행하는 것이라 HTML 태그가 그대로 보이는 점 양해 부탁드립니다.)
<div id="container">
<h1>데이터베이스 오류가 발생하였습니다.</h1>
<p>Error Number: </p><p></p><p>MERGE INTO MLMS_DAILY_STAT AA
USING ( SELECT A.DET_DATE, COUNT (*) AS ABN_CNT
FROM ( SELECT TO_CHAR (
TO_DATE ('1970-01-01', 'YYYY-MM-DD')
+ NUMTODSINTERVAL (MAX (UD_REGTIME), 'SECOND')
+ NUMTODSINTERVAL (9, 'HOUR'),
'YYYY-MM-DD')
AS DET_DATE
FROM MLMS_URI_DETECTION
WHERE UD_REGTIME > '1369580400'
GROUP BY UW_IDX, U_IDX) A
GROUP BY A.DET_DATE
ORDER BY A.DET_DATE) BB
ON (AA.DS_DATE = BB.DET_DATE)
WHEN MATCHED
THEN
UPDATE SET AA.DS_ABN_CNT = BB.ABN_CNT
WHEN NOT MATCHED
THEN
INSERT (AA.DS_DATE, AA.DS_ABN_CNT)
VALUES (BB.DET_DATE, BB.ABN_CNT)</p><p>Filename: /home/ldh0227/public_html/models/cron_model.php</p><p>Line Number: 37</p> </div>
이상한 점은 오류코드에 대한 정보가 비어있는채로 나타난다는 것이구요..
이런 경우에는 어떻게 해야 할까요...?