Проблема в использовании SYS_CONNECT_BY_PATH

teapot25
Дата: 04.12.2007 10:10:05
У меня следующая проблема:
Есть запрос:

insert into adwh.tmp_contract_scheme (application_id, scheduler_scheme, source_system)
select num, replace(ltrim(replace((sys_connect_by_path(dt, ' ')), '.', '')),' ', '_') dline
from (
select t.num,
t.dt,
row_number() over (partition by t.num order by t.dt) rn,
count(*) over (partition by t.num) cnt
from ( select c.application_id num, c.due_date dt
from adwh.contract_scheduler c
) t
order by t.num, t.dt
) v
where v.rn = v.cnt
start with v.rn = 1
connect by prior v.num = v.num
and v.rn = prior v.rn + 1;


Запускаю отдельно - все хорошо, нормально отрабатывает.
Если этот же запрос вставить в процедуру и запускать по расписанию, возникает следующая ошибка:

ORA-30004: when using SYS_CONNECT_BY_PATH function, cannot have seperator as part of column value.

У меня в качестве разделителя стоит пробел. Если меняю на '\' то, все равно та же проблема.


Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bi
PL/SQL Release 10.2.0.3.0 - Production
CORE 10.2.0.3.0 Production
TNS for 64-bit Windows: Version 10.2.0.3.0 - Production
NLSRTL Version 10.2.0.3.0 - Production

Подскажите, кто сталкивался...
Elic
Дата: 04.12.2007 10:29:11
dt - это дата?
teapot25
Дата: 04.12.2007 10:33:14
Elic
dt - это дата?


Да, dt - это дата.
Думаешь, если будете to_char(dt) - что-то измениться?
Elic
Дата: 04.12.2007 10:38:30
teapot25
Elic
dt - это дата?
Да, dt - это дата.
Думаешь, если будете to_char(dt) - что-то измениться?
Нет
А вот с указанием формата - да

P.S. 25 - это возраст чайника?
Jannny
Дата: 04.12.2007 10:41:55
nls_date_fromat у Вас разный. Если, например, выводится дата с часами, то без пробела не обойдется.
Пишите явное приведение к строке, не оставляйте это на волю случая

teapot25
У меня в качестве разделителя стоит пробел. Если меняю на '\' то, все равно та же проблема.
Может и так, надо было взять символ, которого в дате точно нет.

ЗЫ: А зачем Вам сортировка внутри подзапроса?
teapot25
Дата: 04.12.2007 10:46:18
Elic
P.S. 25 - это возраст чайника?


Нет. Это его вес.
C преобразованием в стрингу попробую.
Но почему отдельно работает без проблем. А в составе пакета по расписанию - валится.
p@sh@
Дата: 04.12.2007 10:49:10
teapot25
Но почему отдельно работает без проблем. А в составе пакета по расписанию - валится.

Jannny
nls_date_fromat у Вас разный.
Elic
Дата: 04.12.2007 10:52:42
p@sh@
teapot25
Но почему отдельно работает без проблем. А в составе пакета по расписанию - валится.
Jannny
nls_date_fromat у Вас разный.
Причём разный он был у праверяющей и submit-ящей сессий.
ГостЪ
Дата: 04.12.2007 10:53:41
p@sh@
teapot25
Но почему отдельно работает без проблем. А в составе пакета по расписанию - валится.

Jannny
nls_date_fromat у Вас разный.


STFF Номер дня недели
teapot25
Дата: 04.12.2007 10:55:26
Всем большое спасибо.
Буду пробовать.
По результатам отпишусь.