Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / DatePicker / Process / 15 сообщений из 15, страница 1 из 1
20.05.2014, 10:18
    #38645980
tvsjke
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DatePicker / Process
Всем доброго дня.
Есть таблица с 4 полями типа DATE и 1 типа NVARCHAR2. И есть 4 Datepicker'a.
И процесс

Код: plsql
1.
2.
3.
4.
5.
Begin
   IF ... THEN
      INSERT INTO pass(day_s,day_e,time_s,time_e,mask) values(:Field1,:Field2,:Field3,:Field4,12);
   END IF;
END;



Выдает ORA-01843: not a valid month.

Если сделать так:

Код: plsql
1.
2.
3.
4.
5.
Begin
   IF ... THEN
      INSERT INTO pass(day_s,day_e,time_s,time_e,mask) values(to_char(:Field1,'DD/MM/YY'),to_char(:Field2,'DD/MM/YY'),to_char(:Field3,'DD/MM/YY'),to_char(:Field4,'DD/MM/YY'),12);
   END IF;
END;



То выдает ORA-01722: invalid number
В чем дело, не пойму никак
...
Рейтинг: 0 / 0
20.05.2014, 10:23
    #38645990
Gustly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DatePicker / Process
tvsjke,

Неверный месяц.
Неверное число.

У Вас же поля Date. Почему Вы в строки конвертите?
...
Рейтинг: 0 / 0
20.05.2014, 10:27
    #38645996
tvsjke
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DatePicker / Process
Gustly, ну вот в первом варианте: в поле DATE я пытаюсь записать данные из объекта типа DATE, что не так ?
...
Рейтинг: 0 / 0
20.05.2014, 10:41
    #38646023
Gustly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DatePicker / Process
tvsjke,

В APEX все поля это строки. Никогда не полагайтесь на неявное преобразование.
...
Рейтинг: 0 / 0
20.05.2014, 10:58
    #38646043
tvsjke
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DatePicker / Process
Gustly, да, что-то вечно я туплю по утрам. И еще вопрос, если не трудно: можно ли как-то преобразовать значение checkbox'a в число и обратно (1:2:3 -> 123 -> 1:2:3) ?
...
Рейтинг: 0 / 0
20.05.2014, 13:12
    #38646288
Gustly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DatePicker / Process
tvsjke,

replace (value,':','')
Обратно через регулярку наверное.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
29.06.2015, 09:26
    #38994677
Весёлый
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DatePicker / Process
Возникла аналогичная проблема. Есть таблица ATU_SHIFTSTOPSUMMARY_TABLE с полями:
TASKDATE DATE
SHIFT NUMBER
VEHID VARCHAR2(32)
PROSTOI NUMBER
NAME VARCHAR2(64)

При попытке заполнить её через ApEx
Код: plsql
1.
2.
3.
4.
insert into reports.ATU_SHIFTSTOPSUMMARY_TABLE (taskdate, shift, VEHID, PROSTOI, name)
(select taskdate, shift, t.VEHID, t.PROSTOI, t.name
 from ATU_SHIFTSTOPSUMMARY t
 where TaskDate = '01.01.2015');

возникает ошибка ORA-01843: not a valid month. (ATU_SHIFTSTOPSUMMARY - view, на основе которой была создана таблица).
Что интересно - если запрос привести к виду
Код: plsql
1.
2.
select null, shift, t.VEHID, t.PROSTOI, t.name
from ATU_SHIFTSTOPSUMMARY t

, то ошибка сохраняется, а если к виду
Код: plsql
1.
2.
select null, 1, t.VEHID, t.PROSTOI, t.name
from ATU_SHIFTSTOPSUMMARY t

, то пропадает. Т.е. дело не в несовпадении маски даты (по крайней мере, не только в ней). Кстати, маску я тоже пробовал менять через to_date.
...
Рейтинг: 0 / 0
29.06.2015, 09:41
    #38994682
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DatePicker / Process
Весёлый,
какая ошибка про месяц, если во втором запросе месяца нет?
Вы уж разбирайтесь со своими запросами. APEX тут причём?
...
Рейтинг: 0 / 0
29.06.2015, 09:58
    #38994696
Весёлый
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DatePicker / Process
Petro123,

это меня и смущает. Но дело именно в Апексе, поскольку при выполнении того же запроса через PL/SQL Developer проблем не возникает.
...
Рейтинг: 0 / 0
29.06.2015, 10:07
    #38994700
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DatePicker / Process
ВесёлыйPetro123,
это меня и смущает. Но дело именно в Апексе, поскольку при выполнении того же запроса через PL/SQL Developer проблем не возникает.
полный текст запроса и полную ошибку
...
Рейтинг: 0 / 0
29.06.2015, 10:36
    #38994720
Весёлый
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DatePicker / Process
Petro123,

собственно это он и есть. Ну, ещё Begin End и удаление всех записей из таблицы.
...
Рейтинг: 0 / 0
29.06.2015, 11:17
    #38994754
heavyside
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DatePicker / Process
Весёлый,

Код вьюхи покажите. Скорее всего в девелопере региональные настройки одни и преобразование в дату автоматически прокатывает, в апексе выставлен другой формат даты по умолчанию и переход не прокатывает.
...
Рейтинг: 0 / 0
29.06.2015, 11:20
    #38994759
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DatePicker / Process
Весёлый,
есть закон инженерный, причина чаще всего - самя простая из возможных.
У тебя выше 3 запроса.
Ещё раз мой пост выше - запрос и ошибка.
Если тебе лень, мне твои проблемы побоку.
...
Рейтинг: 0 / 0
29.06.2015, 11:22
    #38994761
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DatePicker / Process
heavyside,
+1
но у него во втором вообще дат нет (если он его не обрезал)
...
Рейтинг: 0 / 0
01.07.2015, 06:08
    #38996454
Весёлый
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DatePicker / Process
Petro123,

забил на репорт и сделал через Process. В итоге всё работает.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Begin
   delete ATU_SHIFTSTOPSUMMARY_TABLE where TaskDate = :P91_DATE;

   insert into reports.ATU_SHIFTSTOPSUMMARY_TABLE (taskdate, shift, model, VEHID, HourProstoi, ProstName)
   (select taskdate, shift, t.model, t.VEHID, t.HourProstoi,
           case
              when t.ProstName = 'климатические условия' then 'Климатические'
                                                         else t.ProstName
           end as ProstName
    from ATU_SHIFTSTOPSUMMARY t
    where TaskDate = :P91_DATE);
End;



Ошибку сейчас полностью привести не могу, т.к. всё поправил.
...
Рейтинг: 0 / 0
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / DatePicker / Process / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]