powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Ошибка при insert'е дат во временную таблицу(ORA-00932)
12 сообщений из 12, страница 1 из 1
Ошибка при insert'е дат во временную таблицу(ORA-00932)
    #39326877
Reflector
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток.
Вопрос в следующем. Есть некоторые даты, из которых необходимо посчитать длительность в часах.
Код: sql
1.
2.
3.
 bi2.open_date as "Дата начала",
       bi2.close_date as "Дата окончания", 
       round((trunc(bi2.close_date, 'mi')-trunc(bi2.open_date, 'mi'))*24,1) as "Длительность, ч."]


После чего возникает ошибка ORA-00932. Текст ошибки понятен, да и код рабочий. Не понятно, почему вдруг ругань приходит на "ожидание number, получено Timestamp with local time zone". Прошу сильно не ругаться, sql занимаюсь недавно и тонкостей особых не знаю. Заранее всем спасибо.

Модератор: Тема перенесена из форума "MySQL".
...
Рейтинг: 0 / 0
Ошибка при insert'е дат во временную таблицу(ORA-00932)
    #39326887
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ReflectorЕсть некоторые датыТип данных этих "дат"?
...
Рейтинг: 0 / 0
Ошибка при insert'е дат во временную таблицу(ORA-00932)
    #39326895
Reflector
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Elic, данные типа "Timestamp with local time zone"
...
Рейтинг: 0 / 0
Ошибка при insert'е дат во временную таблицу(ORA-00932)
    #39326901
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты чего-то недоговариваешь. В этом куске не должно быть ошибки:
Код: plsql
1.
2.
3.
4.
5.
SQL> select round((trunc(systimestamp)-trunc(systimestamp))*12,1) from dual;

ROUND((TRUNC(SYSTIMESTAMP)-TRUNC(SYSTIMESTAMP))*12,1)
-----------------------------------------------------
                                                    0
...
Рейтинг: 0 / 0
Ошибка при insert'е дат во временную таблицу(ORA-00932)
    #39326903
Reflector
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Elic, у меня в select тоже ошибки нету.
А при попытке insert'а в другую таблицу выходит ORA-00932. В том то и вопрос, откуда она появляется?
...
Рейтинг: 0 / 0
Ошибка при insert'е дат во временную таблицу(ORA-00932)
    #39326907
Reflector
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Elic,
Код: plsql
1.
insert into table


где те же поля типа Timestamp with local time zone and number соответственно.
...
Рейтинг: 0 / 0
Ошибка при insert'е дат во временную таблицу(ORA-00932)
    #39326908
K790
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Reflector,

типы данных source и target таблиц совпадают?
...
Рейтинг: 0 / 0
Ошибка при insert'е дат во временную таблицу(ORA-00932)
    #39326911
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Reflector
Код: plsql
1.
insert into table

где те же поля типа Timestamp with local time zone and number соответственно.Не стесьняйся показать весь говнокод.
...
Рейтинг: 0 / 0
Ошибка при insert'е дат во временную таблицу(ORA-00932)
    #39326913
Reflector
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
K790,

ReflectorElic,
где те же поля типа Timestamp with local time zone and number соответственно.
Безусловно, раза 4 проверил, сменил, и снова пробовал.
...
Рейтинг: 0 / 0
Ошибка при insert'е дат во временную таблицу(ORA-00932)
    #39326919
Reflector
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Elic,
Если честно, не очень понимаю, как можно показать тип полей. Во view table тип "Дата начала", "Дата окончания"-Timestamp with local time zone, "Длительность"-number.
Код insert
Код: plsql
1.
2.
3.
4.
5.
insert into temp.t1
select bi2.open_date as "Дата начала",
       bi2.close_date as "Дата окончания", 
       round((trunc(bi2.close_date, 'mi')-trunc(bi2.open_date, 'mi'))*24,1) as "Длительность, ч."
from business bi2
...
Рейтинг: 0 / 0
Ошибка при insert'е дат во временную таблицу(ORA-00932)
    #39326964
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Reflector
Код: plsql
1.
insert into temp.t1

1) В Oracle-е не принято злоупотреблять временными таблицами.
2) Указывай перечень столбцов явно, раз уж ты не знаешь, в каком же они порядке в таблице, а ты не в состоянии это понять/запомнить.
...
Рейтинг: 0 / 0
Ошибка при insert'е дат во временную таблицу(ORA-00932)
    #39327014
Reflector
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Elic,
1) К сожалению, админы их используют, поэтому я-заложник данной ситуации, у которого даже прав на создание таблицы нету.
2) Спасибо Вам большое! Действительно кто-то добавил столбец во временную таблицу, это ускользнуло от меня!
Все заработало, insert готов))))
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Ошибка при insert'е дат во временную таблицу(ORA-00932)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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