Форум: "Базы";
Текущий архив: 2003.12.30;
Скачать: [xml.tar.bz2];
ВнизInterBase Найти похожие ветки
← →
fantomas (2003-12-04 12:16) [0]Такой вопрос:
Есть база InterBase 5.6. В ней триггер, который BEFORE INSERT в одну из таблиц должен сделать опять же INSERT в другую таблицу. В этой таблице есть поле типа DATE. Туда мне надо вставить значение "NOW" + одна секунда. Как это сделать?
Спасибо.
← →
Digitman (2003-12-04 13:25) [1]INSERT INTO Другая_Таблица(Поле_DATE) VALUES (UDF_NOW_Plus1_Sec(NOW))
где UDF_NOW_Plus1_Sec - твоя собственная UDF, получающая параметром значение типа DATE и возвращающая значение того же типа, равное вх.параметру + 1 сек
← →
Sandman25 (2003-12-04 13:28) [2]Я думаю, можно сделать и без UDF.
INSERT INTO Другая_Таблица(Поле_DATE) SELECT NOW + 1сек FROM таблица_с_одной_записью
← →
Johnmen (2003-12-04 14:29) [3]>Sandman25 © (04.12.03 13:28)
А что такое 1сек ?
:)
← →
Sandman25 (2003-12-04 15:56) [4][3] Johnmen © (04.12.03 14:29)
1сек - это нечто, соответсвующее 1 секунде.
Для Informix данный запрос выглядел бы так:
select current + interval(1) second to second from table
Если в IB нет подобной функции для работы с интервалами, я очень извиняюсь.
← →
Vemer (2003-12-04 16:28) [5]А если так:
IB хранит время в Date в дробной части.
Сделай 2 записи с разницей в 1 секунду, переведи их значения во что-то типа float, вычти одну из другой - получишь число Х, примерно равное секунде в понимании IBase. Потом прибавляй это число куда надо.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.12.30;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c