SELECT /*+ FIRST_ROWS */
JC.ID ID,
jc.HASCHILDREN HASCHILDREN,
J.SUFFIX SUFFIX,
JC.REGNUMBER REGNUMBER,
JC.REGDATE REGDATE,
JC.SUMMARY DOCSUMMARY,
JC.DOCNUMBER DOCNUMBER,
JC.DOCDATE DOCDATE,
ORG.SHORTNAME || ADDR.FROMORG FROMORG,
JC.CONTROLDATE CONTROLDATE,
JC.EXECUTIONDATE EXECUTIONDATE,
JC.DOCSTATE DOCSTATE,
JC.DOCSTATE JCSTATE,
jc.DOCCLASS DOCCLASS,
JC.NOTE NOTE,
JC.WHOSIGN WHOSIGN
FROM sed_document doc
LEFT JOIN sed_journalcontent jc
on jc.IDDOC = doc.ID
LEFT JOIN sed_journal j
on J.ID = JC.IDJOURNAL
LEFT JOIN sed_address addr
on ADDR.IDJOURNDOC = JC.ID
LEFT JOIN sedd_organization org
on ORG.ID = ADDR.IDFROMORG
WHERE JC.IDJOURNAL = HEXTORAW('47353CA4C5AE41BA837AF02F86A6042C')
and (JC.REGDATE between to_date('12.03.2008','DD.MM.YYYY') and to_date('13.03.2008','DD.MM.YYYY'))
and jc.DOCCLASS = 0;
Есть процедура:
procedure GetDocuments(journalID RAW,
dateFrom Date,
dateTo Date,
p_cursor out rc) IS
BEGIN
OPEN p_cursor FOR
SELECT /*+ FIRST_ROWS */
JC.ID ID,
jc.HASCHILDREN HASCHILDREN,
J.SUFFIX SUFFIX,
JC.REGNUMBER REGNUMBER,
JC.REGDATE REGDATE,
JC.SUMMARY DOCSUMMARY,
JC.DOCNUMBER DOCNUMBER,
JC.DOCDATE DOCDATE,
ORG.SHORTNAME || ADDR.FROMORG FROMORG,
JC.CONTROLDATE CONTROLDATE,
JC.EXECUTIONDATE EXECUTIONDATE,
JC.DOCSTATE DOCSTATE,
JC.DOCSTATE JCSTATE,
jc.DOCCLASS DOCCLASS,
JC.NOTE NOTE,
JC.WHOSIGN WHOSIGN
FROM sed_document doc
LEFT JOIN sed_journalcontent jc
on jc.IDDOC = doc.ID
LEFT JOIN sed_journal j
on J.ID = JC.IDJOURNAL
LEFT JOIN sed_address addr
on ADDR.IDJOURNDOC = JC.ID
LEFT JOIN sedd_organization org
on ORG.ID = ADDR.IDFROMORG
WHERE JC.IDJOURNAL = HEXTORAW(journalID)
and (JC.REGDATE between to_date(dateFrom, 'DD.MM.YYYY') and to_date(dateTo, 'DD.MM.YYYY'))
and jc.DOCCLASS = 0;
END;
И в запросе и в процедуре значения параметров одинаковые. Запрос возвращает значения, а процедура нет.
Как только убираю параметры типа даты - процедура возвращает значения.
При выполнении ни на что не ругается.
Подскажите, что я делаю не так.
Заранее, спасибо.