Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.009 c
3-99470
Adoon
2003-12-04 13:15
2003.12.30
Как узнать данные записей в TDataSet не перемещаясь по ним?


7-99794
Piero
2003-10-22 22:20
2003.12.30
Как узнать диагональ монитора


3-99465
Марат
2003-12-08 07:44
2003.12.30
Считывание информации из справочника


14-99779
earthman
2003-12-05 17:39
2003.12.30
зацените прогу


14-99694
oens
2003-12-10 00:34
2003.12.30
Shareware





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский