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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Триггер и sysdate, отсутсвует состовляющая времени 
:(
    Опции темы
jsa
Дата 19.1.2006, 06:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 704
Регистрация: 19.1.2006
Где: Новосибирск

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



Hi All!

есть проблема:
для таблицы на before insert из тригера идет заполенние поля date
Код

:new.stdt:=sysdate

почему то иногда появляются записи в таблице такие что
Код

stdt = trunc(stdt)
(на переход суток не сваливаю, так как за одно число достаточно большое количество записей, вставляемых с переодичностью как минимум несколько секунд)
и от этого все неправильно работает smile
в чем может быть проблема? даже ума не приложу smile

ЗЫЖ Oracle 9i R2


--------------------
Все мы, на перине с песней, строим небо на земле © Ю. Шевчук
PM MAIL ICQ   Вверх
LSD
Дата 19.1.2006, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

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



1. такая проблема со всеми таблицами в БД, или только с одной? и случайно insert не из job-а выполняется? и вообще ситуация воспроизводимая?
2. попробуй создать простенькую табличку с одним столбцом date, сделать его первичным ключем и потестировать на ней
3. замени в триггере
Код
:new.stdt:=sysdate

на
Код
select sysdate sysdate into :new.stdt from dual;

4. вставь проверку stdt = trunc(sysdate, 'DD') в триггер, и пиши в лог или выбрасываю исключение (это что бы проверить что дело не в функции sysdate или наоборот в ней.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
jsa
Дата 20.1.2006, 09:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 704
Регистрация: 19.1.2006
Где: Новосибирск

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



не, insert не из джоба, инсерт идет из продуры, вызваемой из перла
в этой же таблице сдалал новое поле date,
заполняю его в триггере
Код
select sysdate sysdate into :new.field from dual;

без разницы
что
Код

:new.stdt:=sysdate;

что
Код

select sysdate sysdate into :new.field from dual;

работает одинково, т.е. как небыло состовляющей времени, так и нет

ЗЫЖ остальное буду пробовать


--------------------
Все мы, на перине с песней, строим небо на земле © Ю. Шевчук
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.

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


 




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


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

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