помогите пожалуйста, чайнику: преобразование даты в месяц, число, год при вставке в другую таблицу
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;
Re: ПОМОГИТЕ С ТРИГГЕРОМ !!!
|
От: |
Tigor
|
|
| Дата: | 24.02.09 13:57 |
|
Оценка: |
|
Здравствуйте, Pilgrimanto, Вы писали:
P>помогите пожалуйста, чайнику: преобразование даты в месяц, число, год при вставке в другую таблицу
P>TO_NUMBER (SUBSTR (TO_CHAR (:NEW.data_rojd), 1, 2)),
P>TO_NUMBER (SUBSTR (TO_CHAR (:NEW.data_rojd), 4, 5)),
P>TO_NUMBER (SUBSTR (TO_CHAR (:NEW.data_rojd), 7, 10))
Используйте спец. функцию extract:
http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/functions052.htm#i1017161
К сожалению, в действительности все выглядит иначе, чем на самом деле.
Re: ПОМОГИТЕ С ТРИГГЕРОМ !!!
Здравствуйте, Pilgrimanto, Вы писали:
P>TO_NUMBER (SUBSTR (TO_CHAR (:NEW.data_rojd), 1, 2)),
P>TO_NUMBER (SUBSTR (TO_CHAR (:NEW.data_rojd), 4, 5)),
P>TO_NUMBER (SUBSTR (TO_CHAR (:NEW.data_rojd), 7, 10))
видимо так задумывалось:
to_number(to_char(:NEW.data_rojd,'DD')),
to_number(to_char(:NEW.data_rojd,'MM')),
to_number(to_char(:NEW.data_rojd,'YYYY'))
bo
Re: ПОМОГИТЕ С ТРИГГЕРОМ !!!
Здравствуйте, Pilgrimanto, Вы писали:
P>помогите пожалуйста, чайнику: преобразование даты в месяц, число, год при вставке в другую таблицу
чет я перечитал...
а топикстартер знает, что можно делать insert сразу в несколько таблиц без использования тригера?
во
Пока на собственное сообщение не было ответов, его можно удалить.