Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка ORA-01840: входное значение недостаточно 
:(
    Опции темы
Atomic63
Дата 21.7.2009, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 23.3.2007

Репутация: нет
Всего: нет



Всем добрый день! Не мог бы подсказать почему когда я хочу написать функцию для  моей таблички pc_rate так

   FUNCTION OperacNext( reference ddepositr_dbt.t_referenc%TYPE, data1 date, data2 date) RETURN dpc_rate_dbt.t_begindate%Type
  IS
  Dat dpc_rate_dbt.t_begindate%Type;
  Dat2 Date;
  BEGIN
        SELECT t_begindate
        into Dat
          FROM dpc_rate_dbt a 
          where 
          a.t_referenc=reference and a.t_action<2 
          and a.t_begindate>data1
          and a.t_begindate<=data2 ;
              return Dat-1;
            EXCEPTION WHEN OTHERS THEN 
                begin
                   RETURN data2-1;
                end;
            
  END OperacNext;

Oracle выдает мне ошибку  ORA-01840: входное  значение  недостаточно длинно для формата даты? Я понимаю что вопрос ламерский но если подскажетеь буду оч. признателен
PM MAIL   Вверх
Zloxa
Дата 21.7.2009, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 37
Всего: 161



Цитата(Atomic63 @  21.7.2009,  14:05 Найти цитируемый пост)
Oracle выдает мне ошибку  

Когда он выдает ошибку?

Полагаю Вы просто не правильно передаете парметры в функцию.


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Atomic63
Дата 21.7.2009, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 23.3.2007

Репутация: нет
Всего: нет



Странно, но для другой таблицы с теми же параметрами, все прекрасно возвращает!

Добавлено через 1 минуту и 38 секунд
Я кстати пробовал сокращать функцию до 
Код

SELECT t_begindate
        into Dat
          FROM dpc_rate_dbt a 

все равно выдает такую же ошибку!

Добавлено через 4 минуты и 15 секунд
Oracle выдает мне ошибку когда я пытаюсь сохранить функцию, а когда вызываю ее то она мне всегда возвращает 

 EXCEPTION WHEN OTHERS THEN 
                begin
                   RETURN data2-1;
                end;


((
PM MAIL   Вверх
Zloxa
Дата 21.7.2009, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 37
Всего: 161



в качестве входных параметров функции вы что отдаете - даты или строки?


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Atomic63
Дата 21.7.2009, 20:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 23.3.2007

Репутация: нет
Всего: нет



Отдаю даты так 
Select dim.OperacNext(12345, to_date('01.01.2001','dd.mm.yyyy'), to_date('01.03.2001','dd.mm.yyyy')) from dual
PM MAIL   Вверх
Zloxa
Дата 21.7.2009, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 37
Всего: 161



покажите результат в sqlplus
Код

desc dpc_rate_dbt


Цитата(Atomic63 @  21.7.2009,  15:42 Найти цитируемый пост)
Oracle выдает мне ошибку когда я пытаюсь сохранить функцию, а когда вызываю ее то она мне всегда возвращает 

Блин, так функция выдает ошибку или все таки возвращает значение?
ORA-01840 возникает во время исполнения а не во время компиляции

наберите скрипт для sqlplus, который демонстрирует ошибку и приведите в форуме результат работы этого скрипта.



--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Atomic63
Дата 22.7.2009, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 23.3.2007

Репутация: нет
Всего: нет



Цитата

Блин, так функция выдает ошибку или все таки возвращает значение?


В общем я написал функцию, она у меня скомпилировалась и сохранилась без ошибок. Я ее запускаю, она мне должна возвращать 

return Dat-1;

вместо этого она при любых входных параметрах возвращает 

 EXCEPTION WHEN OTHERS THEN 
                begin
                   RETURN data2-1;
                end;

Я стал разбираться в чем дело, стал рыться в коде этой функции, нажал F9 для сохранения функция сохраняется, но компилятор пишет ORA-01840: входное  значение  недостаточно длинно для формата даты  

Вот что произошла, чем вызвана ошибка не понятно!
PM MAIL   Вверх
DimW
Дата 22.7.2009, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1330
Регистрация: 24.2.2005
Где: Орёл

Репутация: 23
Всего: 44



Atomic63, ну вас же попросили показать результат:
Цитата(Zloxa @  21.7.2009,  23:13 Найти цитируемый пост)
покажите результат в sqlplus

код SQL
1:

desc dpc_rate_dbt


и обсолютно не понятно где вы жмете F9.

PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Oracle"
Zloxa
LSD

Данный раздел предназначен для обсуждения проблем с Oracle Database, другие продукты Oracle здесь не обсуждаются. Просьба при создании темы, придерживаться следующих правил:

  • при создании темы давайте ей осмысленное название, описывающее суть проблемы
  • указывайте используемую версию базы, способ соединения и язык программирования
  • при ошибках обязательно приводите код ошибки и сообщение сервера
  • приводите код в котором возникла ошибка, по возможности дайте тестовый пример демонстрирующий ошибку
  • при вставке кода используйте соответсвующие теги: [code=sql] [/code] для подсветки SQL и PL/SQL кода, [code=java] [/code] - для Java, и т.д.

  • документация по Oracle: 9i, 10g, 11g
  • книги по Oracle можно поискать здесь
  • действия модераторов можно обсудить здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, LSD.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Oracle | Следующая тема »


 




[ Время генерации скрипта: 0.0740 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.