Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2009, 23:00   #1
aquarelle
Новичок
Джуниор
 
Регистрация: 19.02.2009
Сообщений: 1
Вопрос не работает триггер

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

CREATE OR REPLACE TRIGGER proba
BEFORE INSERT
ON F2_2009
FOR EACH ROW


BEGIN
INSERT INTO t316
(d_rojd,
m_rojd,
y_rojd
)
VALUES (
TO_NUMBER (SUBSTR (TO_CHAR (:NEW.data_rojd), 1, 2)),
TO_NUMBER (SUBSTR (TO_CHAR (:NEW.data_rojd), 4, 5)),
TO_NUMBER (SUBSTR (TO_CHAR (:NEW.data_rojd), 7, 10))

);
END;

t316
d_rojd number (2,0);
m_rojd number (2,0);
y_rojd number (4,0);



f2_2009
data_rojd date;
aquarelle вне форума Ответить с цитированием
Старый 12.03.2009, 18:55   #2
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

понятно, что сервак Оракл
но вот что вам мешает подставить этот запрос(модифицированный до select ... from dual) в тот же Плюс и заценить его результат?

как говорится RTFM
третий параметр у функи substr - это кол-во символов, а не по какой символ

т.е. в вашем случае будет так
...
VALUES (
TO_NUMBER (SUBSTR (TO_CHAR (:NEW.data_rojd), 1, 2)),
TO_NUMBER (SUBSTR (TO_CHAR (:NEW.data_rojd), 4, 2)),
TO_NUMBER (SUBSTR (TO_CHAR (:NEW.data_rojd), 7, 4))

хотя многое еще будет зависеть от настроек
для верности лучше делать так
...
VALUES (
TO_NUMBER (SUBSTR (TO_CHAR (:NEW.data_rojd, 'DD.MM.YYYY'), 1, 2)),
TO_NUMBER (SUBSTR (TO_CHAR (:NEW.data_rojd, 'DD.MM.YYYY'), 4, 2)),
TO_NUMBER (SUBSTR (TO_CHAR (:NEW.data_rojd, 'DD.MM.YYYY'), 7, 4))
soleil@mmc вне форума Ответить с цитированием
Старый 12.03.2009, 21:42   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

а чего туда сюда гонять дату? ;(
Напоминаю, что есть такие вещи:
Код:
extract( day from (:NEW.data_rojd) ) 
extract( month from (:NEW.data_rojd) )
extract( year from (:NEW.data_rojd) )
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с UserForm. То работает, то НЕ работает Maxx Microsoft Office Excel 6 19.11.2008 14:51
"not null" и триггер в IBase/FB Surgeon БД в Delphi 15 10.10.2008 14:55
триггер veter_s_morya SQL, базы данных 10 06.10.2008 21:58
триггер..плиз zinnyrik БД в Delphi 4 21.05.2007 16:08
Триггер? yulia БД в Delphi 9 12.05.2007 15:03