powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / сложение типов interval
8 сообщений из 8, страница 1 из 1
сложение типов interval
    #39270606
Miranda_star18
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет! Ребята нужна помощь! Есть база, состоящая из 2-ух таблиц. В одной таблице находится продолжительность выполнения поручения каждым человеком (тип данных interval), а во вторую необходимо поместить суммарное количество времени, потраченного на поручения за каждый месяц по отдельности. В этом то и состоит моя проблема. Все это реализуется в триггере.
Вот что я делаю, чтобы посчитать суммарное количество времени, потраченного за каждый месяц по отдельности:
select sum(to_number(dliteln))into b
from porucheniya
where extract(MONTH from :new.etime)=2;
Исходя из этого, моя проблема в том чтоб перевести тип interval в число для сложения.
И ещё. Нужно эти данные поместить в соответствующие ячейки второй таблицы, где уже указано название месяца. При попытке это реализовать выскакивала ошибка, что триггер не знает вторую таблицу.
Подскажите пожалуйста как решить эти проблемы? кто сталкивался?
...
Рейтинг: 0 / 0
сложение типов interval
    #39270616
Miranda_star18Ребятастолько букв печатать... можно было успеть поочитать sql для чайников.
...
Рейтинг: 0 / 0
сложение типов interval
    #39270617
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Miranda_star18,

поиском по форуму пользуйтесь (интервалы и складывали и в числа переводили и т.п.)
а кто кого у вас не знает - см. права
...
Рейтинг: 0 / 0
сложение типов interval
    #39270618
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Miranda_star18Подскажите пожалуйста как решить эти проблемы?

Пойти к архитектору БД и в доступной форме объяснить ему, что так хранимые агрегаты в
Оракуле не делаются. Тогда обе проблемы отпадут.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
сложение типов interval
    #39270671
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Miranda_star18,

во-первых укажите тип данных колонки porucheniya.dlinteln, и поля :new.etime
...
Рейтинг: 0 / 0
сложение типов interval
    #39270675
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovПойти к архитектору БД и в доступной форме...судя по его стилю именования объектов, с большой уверенностью можно сказать, что это бесполезно
...
Рейтинг: 0 / 0
сложение типов interval
    #39270745
Miranda_star18
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
--Eugene--Miranda_star18,

во-первых укажите тип данных колонки porucheniya.dlinteln, и поля :new.etime
porucheniya.dliteln это тип interval day to second
:new.etime это тип timestamp.
Сори, если было, того что нужно не нашла)
...
Рейтинг: 0 / 0
сложение типов interval
    #39270772
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Miranda_star18,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
SANDBOX@EE>;create table porucheniya as select numtodsinterval(level/3, 'SECOND') as dliteln from dual connect by level <10;

Table created.
SANDBOX@EE>;select * from porucheniya;
DLITELN
---------------------------------------------------------------------------
+000000000 00:00:00.333333333
+000000000 00:00:00.666666667
+000000000 00:00:01.000000000
+000000000 00:00:01.333333333
+000000000 00:00:01.666666667
+000000000 00:00:02.000000000
+000000000 00:00:02.333333333
+000000000 00:00:02.666666667
+000000000 00:00:03.000000000

9 rows selected.
SANDBOX@EE>;select sum(extract(second from dliteln) + extract(minute from dliteln)*60 + extract(hour from dliteln)*60*60 + extract(day from dliteln)*60*60*24) from porucheniya where extract(month from systimestamp) = 7;
SUM(EXTRACT(SECONDFROMDLITELN)+EXTRACT(MINUTEFROMDLITELN)*60+EXTRACT(HOURFROMDLITELN)*60*60+EXTRACT(DAYFROMDLITELN)*60*60*24)
-----------------------------------------------------------------------------------------------------------------------------
                                                                                                                   15
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / сложение типов interval
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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