Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.12.30;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.022 c
1-99610
mRodion
2003-12-15 17:53
2003.12.30
PageControl: скрыть заголовок закладки


14-99755
RainKM
2003-12-06 04:27
2003.12.30
Сom


14-99756
k-man
2003-12-04 14:12
2003.12.30
Образование: Актуальная тема :)


14-99735
Agrippina
2003-12-04 18:26
2003.12.30
Причины и следствия


3-99484
Goida
2003-12-04 15:01
2003.12.30
Частично прокручивающийся грид