Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

InterBase [D6, IB5.x]


fantomas ©   (2003-12-04 12:16:00) 

Такой вопрос:
Есть база InterBase 5.6. В ней триггер, который BEFORE INSERT в одну из таблиц должен сделать опять же INSERT в другую таблицу. В этой таблице есть поле типа DATE. Туда мне надо вставить значение "NOW" + одна секунда. Как это сделать?
Спасибо.


Vemer   (2003-12-04 16:28:00) [1]

А если так:
IB хранит время в Date в дробной части.
Сделай 2 записи с разницей в 1 секунду, переведи их значения во что-то типа float, вычти одну из другой - получишь число Х, примерно равное секунде в понимании IBase. Потом прибавляй это число куда надо.


Sandman25   (2003-12-04 15:56:00) [2]

[3] Johnmen © (04.12.03 14:29)

1сек - это нечто, соответсвующее 1 секунде.
Для Informix данный запрос выглядел бы так:

select current + interval(1) second to second from table

Если в IB нет подобной функции для работы с интервалами, я очень извиняюсь.


Johnmen   (2003-12-04 14:29:00) [3]

>Sandman25 © (04.12.03 13:28)

А что такое 1сек?
:)


Sandman25   (2003-12-04 13:28:00) [4]

Я думаю, можно сделать и без UDF.
INSERT INTO Другая_Таблица(Поле_DATE) SELECT NOW + 1сек FROM таблица_с_одной_записью


Digitman   (2003-12-04 13:25:00) [5]

INSERT INTO Другая_Таблица(Поле_DATE) VALUES (UDF_NOW_Plus1_Sec(NOW))

где UDF_NOW_Plus1_Sec - твоя собственная UDF, получающая параметром значение типа DATE и возвращающая значение того же типа, равное вх.параметру + 1 сек


Наверх

Титульная страница Поиск, карта сайта Написать письмо