Форум: "Базы";
Текущий архив: 2002.11.07;
Скачать: [xml.tar.bz2];
ВнизКуда деваются милисекунды? (Time type) Найти похожие ветки
← →
NeyroSpace (2002-10-16 18:00) [0]При вставке записи время дается только с секундной точностью, хотя тип Time может хранить до десятитысячных сек.
Как это исправить?
(т.е. получаю 17:54:09.0000)
← →
ЮЮ (2002-10-17 04:00) [1]>При вставке записи время дается только с секундной точностью
Кем даётся? Попроси, чтобы больше давали :-)
>т.е. получаю 17:54:09.0000
Чем получаешь? Как? Я, при желании, могу и 17:54 получить. Всё зависит от формата отображения, а не от хранящейся величины
← →
Alexandr (2002-10-17 06:16) [2]не все библиотеки доступа это понимают.
← →
NeyroSpace (2002-10-17 10:03) [3]Время пишется триггером из NOW
← →
ЮЮ (2002-10-17 10:11) [4]А смотришь чем? Откуда такая увереннрсть, что мс обрезаны? Ведь хранится float. Кому потребовалось пребразовывать полученное из NOW значение перез записью?
← →
NeyroSpace (2002-10-17 11:22) [5]Смотрю IBExpert"ом или DBExplorer"ом везде вместо милисек. 0000.
insert into test (id,text) values (1,cast("now" as time))
← →
Reindeer Moss Eater (2002-10-17 11:28) [6]Это такой текст триггера???
← →
NeyroSpace (2002-10-17 11:37) [7]Конечно! НЕТ!
Триггер делает вставку в таблицу логов.
Упращенно запрос выглядит так.
← →
Reindeer Moss Eater (2002-10-17 11:48) [8]Так если есть триггер на вставку и именно он пишет в поле текущее время, зачем приводить в качестве примера запрос клиента?
Тем более, что значение, вставляемое с клиента, при этом никуда не попадет?
← →
NeyroSpace (2002-10-17 14:52) [9]Триггер же пишет в другую таблицу и в его теле выполняется запрос:
insert into logtable (id,text) values (1,cast("now" as time));
Но при просмотре вставленной записи, точность только до секунд, а дальше 0000
← →
Reindeer Moss Eater (2002-10-17 15:09) [10]>NeyroSpace ©
А теперь скажи мне, зачем в поле "TEXT" таблицы "LOGTABLE"
писать время, запросом, выполняемым в триггере другой таблицы, когда для LOGTABLE можно написать свой собственный триггер на вставку?
← →
NeyroSpace (2002-10-17 15:20) [11]Ну как тебе сказать...
Есть много таблиц, все изменения отслеживаются триггерами в каждой таблице и записываются в одну - LOG таблицу.
В окончательном варианте будет записываться или произведенный SQL запрос для любой таблицы или обратный SQL запрос.
Т.е. LOG это будет таблица транзакций по которой можно будет восстановить все действия производимые с записями.
В MSSQL Server вроде такая таблица создается самим сервером... по ней восстанавливают данные после сбоя.
Но кто-ниб знает почему у меня не получает сохранить инфу о миллисекундах?
← →
Reindeer Moss Eater (2002-10-17 15:39) [12]В общем я бы сделал так:
Для LogTable создал бы триггер на вставку, в котором бы заполнял поле содержащее время. И при этом не использовал бы CAST.
А запрос insert into logtable (id,text) values (1,cast("now" as time));
заменил бы на
insert into logtable (id) values (1);
← →
Johnmen (2002-10-17 15:50) [13]Видимо ф-ия Now возвращает время с точностью до секунды...
← →
NeyroSpace (2002-10-17 17:23) [14]Johnmen © (17.10.02 15:50)
Зачем тогда тип Time с такой точностью и какая альтернатива NOW ?
← →
Johnmen (2002-10-17 17:37) [15]Ну так попробуй из приложения прописывать с большей точностью...
Хотя не уверен, что получится.
М.б. это задел на будущее...
Альтернативы мне не известны...:)
← →
NeyroSpace (2002-10-17 17:39) [16]Т.е. в настройках сервера ничего такого нет?
← →
Johnmen (2002-10-17 17:47) [17]Лично я не видел.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.11.07;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.012 c