powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Изменение значения в таблице по умолчанию через TOAD
22 сообщений из 47, страница 2 из 2
Изменение значения в таблице по умолчанию через TOAD
    #39503978
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
albatrausТак лучше будет: trunc((sysdate + interval '1' year),'YEAR')?
конечно, особенно для 29 февраля
...
Рейтинг: 0 / 0
Изменение значения в таблице по умолчанию через TOAD
    #39503983
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
albatrausА как насчет последнего дня года, а не месяца?
trunc(sysdate,'year') + interval '1' year - 1
...
Рейтинг: 0 / 0
Изменение значения в таблице по умолчанию через TOAD
    #39503992
albatraus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VieweralbatrausА как насчет последнего дня года, а не месяца?
trunc(sysdate,'year') + interval '1' year - 1

albatraustrunc((sysdate + interval '1' year),'YEAR'), то я получаю ошибку PLS-00201: identifier 'NUMTOYMINTERVAL' must be declared
albatrausЧто я должен объявить(задекларировать)?
...
Рейтинг: 0 / 0
Изменение значения в таблице по умолчанию через TOAD
    #39503995
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
identifier ' NUMTOYMINTERVAL '
этого в показанном вами коде нет, смотрите по полному тексту
...
Рейтинг: 0 / 0
Изменение значения в таблице по умолчанию через TOAD
    #39504000
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.S.
albatrausА как насчет последнего дня года, а не месяца?
... по хорошему, в интервальной логике, вам всё же нужен первый день следующего года .
Иначе вы потеряете последний день года целиком.
...
Рейтинг: 0 / 0
Изменение значения в таблице по умолчанию через TOAD
    #39504039
albatraus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Viewer,

albatraus
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
CREATE OR REPLACE TRIGGER CUSTOMS.update_invalid_time
BEFORE INSERT OR UPDATE
ON CUSTOMSADMIN.OFFICE_ORDERS
REFERENCING NEW AS New OLD AS Old
FOR EACH ROW
begin
	 if :new.who_date not between '01.01.2005' AND trunc(to_date(sysdate + interval '1' year),'YEAR') then :new.who_date := null;
end if;
end;
/



Это весь код триггера с ошибкой.
...
Рейтинг: 0 / 0
Изменение значения в таблице по умолчанию через TOAD
    #39504071
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
identifier ' NUMTOYMINTERVAL '
опять же - этого в показанном вами коде нет...
Поищете поиском - возможно отыщете выше, ниже или правее отображемой области экрана.
Особенно правее, ловился на таком..
...
Рейтинг: 0 / 0
Изменение значения в таблице по умолчанию через TOAD
    #39504089
albatraus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vieweridentifier ' NUMTOYMINTERVAL '
опять же - этого в показанном вами коде нет...
Поищете поиском - возможно отыщете выше, ниже или правее отображемой области экрана.
Особенно правее, ловился на таком..
NUMTOYMINTERVAL - там такого нету.
На картинке указано место куда переходит курсор при компиляции.
...
Рейтинг: 0 / 0
Изменение значения в таблице по умолчанию через TOAD
    #39504104
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
замени
trunc(to_date (sysdate + interval '1' year),'YEAR')
на
trunc(sysdate,'year') + interval '1' year
...
Рейтинг: 0 / 0
Изменение значения в таблице по умолчанию через TOAD
    #39504107
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
похоже, что GUI умничает и за занавесом само трансформирует код и налетает на то, о чём вас уже замучились предупреждать...
...
Рейтинг: 0 / 0
Изменение значения в таблице по умолчанию через TOAD
    #39504110
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да и... приведённый выше код с картинкой не совпадает, я отвечал на первое...
...
Рейтинг: 0 / 0
Изменение значения в таблице по умолчанию через TOAD
    #39504119
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FYI
Код с картинки у меня скомпилился.
...
Рейтинг: 0 / 0
Изменение значения в таблице по умолчанию через TOAD
    #39504123
albatraus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ViewerFYI
Код с картинки у меня скомпилился.
А у меня нет, поэтому будет так:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
CREATE OR REPLACE TRIGGER CUSTOMSADMIN.update_invalid_time
BEFORE INSERT OR UPDATE
ON CUSTOMSADMIN.OFFICE_ORDERS
REFERENCING NEW AS New OLD AS Old
FOR EACH ROW
begin
	 if :new.who_date not between to_date('01.01.2005', 'dd.mm.yyyy') AND trunc(sysdate + 366) then :new.who_date := null;
end if;
end;
/
...
Рейтинг: 0 / 0
Изменение значения в таблице по умолчанию через TOAD
    #39504134
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
123ййalbatrausТак лучше будет: trunc((sysdate + interval '1' year),'YEAR')?
конечно, особенно для 29 февраля
albatrausА у меня нет, поэтому будет так:
+366
... что-то вы упорно не ладу с високосными годами
...
Рейтинг: 0 / 0
Изменение значения в таблице по умолчанию через TOAD
    #39504137
albatraus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Viewer,
предыдущий пост посмотрите, свою ошибку понял)) спасибо))
...
Рейтинг: 0 / 0
Изменение значения в таблице по умолчанию через TOAD
    #39504139
albatraus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
лучше +366 чем 365, лучшего решения не придумал((
...
Рейтинг: 0 / 0
Изменение значения в таблице по умолчанию через TOAD
    #39504143
K790
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сабж начинался с таблицы OFFICE_ORDERS, ее ddl вроде как приведен, и проблемного поля who_date.

триггер уже пишется на таблицу OFFICE_PERSONS и на поле date_executed

таки где порылась собака - непонятно.
...
Рейтинг: 0 / 0
Изменение значения в таблице по умолчанию через TOAD
    #39504144
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
albatraus,

Код: plsql
1.
select add_months(trunc(sysdate,'year'),12) + 1 from dual;
...
Рейтинг: 0 / 0
Изменение значения в таблице по умолчанию через TOAD
    #39504145
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
albatrausViewer,
предыдущий пост посмотрите , свою ошибку понял)) спасибо))
не понял, что конкретно?
...
Рейтинг: 0 / 0
Изменение значения в таблице по умолчанию через TOAD
    #39504149
albatraus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VieweralbatrausViewer,
предыдущий пост посмотрите , свою ошибку понял)) спасибо))
не понял, что конкретно?
Ничего, сам себя уже запутал

K790таки где порылась собака - непонятно.
У меня две таблицы с проблемой дат.
Только в OFFICE_PERSONS она через клиента звучит как "Translate Error. Value out of bounds."
А записывает похожие даты как и в OFFICE_ORDERS.
...
Рейтинг: 0 / 0
Изменение значения в таблице по умолчанию через TOAD
    #39504157
albatraus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
envalbatraus,

Код: plsql
1.
select add_months(trunc(sysdate,'year'),12) + 1 from dual;


Спасибо!
...
Рейтинг: 0 / 0
Изменение значения в таблице по умолчанию через TOAD
    #39504160
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
albatraus,

Только почитай про between внимательно, т.е. про сравнение на границах диапазонов. Может тебе надо явные >= и < использовать.
...
Рейтинг: 0 / 0
22 сообщений из 47, страница 2 из 2
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Изменение значения в таблице по умолчанию через TOAD
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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