Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Пологите пожалуйста с триггером....  [new]
clever
Member

Откуда:
Сообщений: 17
Здравствуйте, помогите ламеру, как написать триггер который делал бы следующее:

Существует таблица в которую постоянно идет запись, нужно как-то с интервалом в 10 секунд суммировать несколько полей "последней" строки(временное поле в таблице есть) и записывать это значение в другую таблицу. Даже не знаю с чего начать, т.к. никогда не писал триггеров и хр.процедур... Помогите пожалуйста, подозреваю, что задача не сложная, но я по БД не спец.
8 фев 06, 11:09    [2332714]     Ответить | Цитировать Сообщить модератору
 Re: Пологите пожалуйста с триггером....  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
Триггер работает "по факту", а не с интервалом.
8 фев 06, 11:09    [2332721]     Ответить | Цитировать Сообщить модератору
 Re: Пологите пожалуйста с триггером....  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381
это Вам, скорее, job нужен...
8 фев 06, 11:10    [2332725]     Ответить | Цитировать Сообщить модератору
 Re: Пологите пожалуйста с триггером....  [new]
clever
Member

Откуда:
Сообщений: 17
Ладно допустим по факту вставки новой записи, нельзя проверять разность времени и если она меньше 10 сек., то ничего не писать? Ну или как хоть с Джобсами работать скажите, блин срочно надо это сделать, а знаний не хватает... и времени нет копаться в книгах...
8 фев 06, 11:16    [2332773]     Ответить | Цитировать Сообщить модератору
 Re: Пологите пожалуйста с триггером....  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
clever
Ладно допустим по факту вставки новой записи, нельзя проверять разность времени и если она меньше 10 сек., то ничего не писать? Ну или как хоть с Джобсами работать скажите, блин срочно надо это сделать, а знаний не хватает... и времени нет копаться в книгах...

https://www.sql.ru/forum/rules.aspx , особенно про то, как рекомендуется оформлять вопросы.
8 фев 06, 11:17    [2332779]     Ответить | Цитировать Сообщить модератору
 Re: Пологите пожалуйста с триггером....  [new]
clever
Member

Откуда:
Сообщений: 17
И какое из правил я нарушил?
8 фев 06, 11:21    [2332801]     Ответить | Цитировать Сообщить модератору
 Re: Пологите пожалуйста с триггером....  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
clever
И какое из правил я нарушил?

Рекомендации по оформлению читали?
8 фев 06, 11:23    [2332808]     Ответить | Цитировать Сообщить модератору
 Re: Пологите пожалуйста с триггером....  [new]
Glory
Member

Откуда:
Сообщений: 104760
clever
И какое из правил я нарушил?

Если бы нарушили, то сообщение бы удалили.
А так просто не выполнили требования.
Ибо ваши объяснениия задачи пока понятны только вам одному
8 фев 06, 11:25    [2332814]     Ответить | Цитировать Сообщить модератору
 Re: Пологите пожалуйста с триггером....  [new]
Newber
Member

Откуда: Planet Earth
Сообщений: 107
clever
Ладно допустим по факту вставки новой записи, нельзя проверять разность времени и если она меньше 10 сек., то ничего не писать? Ну или как хоть с Джобсами работать скажите, блин срочно надо это сделать, а знаний не хватает... и времени нет копаться в книгах...

А не проще добавить еще одно поле? и если разница его с getdate() будет больше 10 секунд то тогда только писать?
8 фев 06, 11:27    [2332830]     Ответить | Цитировать Сообщить модератору
 Re: Пологите пожалуйста с триггером....  [new]
Newber
Member

Откуда: Planet Earth
Сообщений: 107
Newber
А не проще добавить еще одно поле? и если разница его с getdate() будет больше 10 секунд то тогда только писать?

Имел ввиду поле с датой и временем ^
8 фев 06, 11:28    [2332836]     Ответить | Цитировать Сообщить модератору
 Re: Пологите пожалуйста с триггером....  [new]
clever
Member

Откуда:
Сообщений: 17
Попробую, объяснить подробнее.

Имеется таблица: CurrentValue
С полями: DT: TDateTime; F1, F2, F3, F4: Float

Задача:
С интервалом в 10 секунд суммировать поля F2 + F3 (последней записи) и писать их в другую таблицу, формат которой предполагает наличие полей DataTime и SumValue.

Вопрос:
Как лучше реализовать данную задачу?
8 фев 06, 11:30    [2332858]     Ответить | Цитировать Сообщить модератору
 Re: Пологите пожалуйста с триггером....  [new]
clever
Member

Откуда:
Сообщений: 17
Newber
Newber
А не проще добавить еще одно поле? и если разница его с getdate() будет больше 10 секунд то тогда только писать?

Имел ввиду поле с датой и временем ^


Дело в том, что исходная таблица должна содержать все данные, а другая с интервалом через 10 секунд...
8 фев 06, 11:33    [2332880]     Ответить | Цитировать Сообщить модератору
 Re: Пологите пожалуйста с триггером....  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37101
insert [в другую таблицу]([поле DataTime], [SumValue] )
select top 1 DT, F2 + F3 
from CurrentValue
order by DT desc
Только с интервалом могут возникнуть проблемы - в агенте вроде как минимальный интервал- одна минута.
8 фев 06, 11:33    [2332881]     Ответить | Цитировать Сообщить модератору
 Re: Пологите пожалуйста с триггером....  [new]
clever
Member

Откуда:
Сообщений: 17
Гавриленко Сергей Алексеевич
insert [в другую таблицу]([поле DataTime], [SumValue] )
select top 1 DT, F2 + F3 
from CurrentValue
order by DT desc
Только с интервалом могут возникнуть проблемы - в агенте вроде как минимальный интервал- одна минута.


А если DATEDIFF(DateTime,[ТекущееВремя])>'00.00.00 00:00:10' сделать, ну или что то типа этого? И уже по условию производить вставку?
8 фев 06, 11:55    [2333028]     Ответить | Цитировать Сообщить модератору
 Re: Пологите пожалуйста с триггером....  [new]
Glory
Member

Откуда:
Сообщений: 104760
clever
Newber
Newber
А не проще добавить еще одно поле? и если разница его с getdate() будет больше 10 секунд то тогда только писать?

Имел ввиду поле с датой и временем ^


Дело в том, что исходная таблица должна содержать все данные, а другая с интервалом через 10 секунд...

А если за 10 секунд не было добавлено ни одной записи ?
8 фев 06, 12:03    [2333066]     Ответить | Цитировать Сообщить модератору
 Re: Пологите пожалуйста с триггером....  [new]
clever
Member

Откуда:
Сообщений: 17
Ну значит, писать в другую таблицу данные не надо...
8 фев 06, 12:07    [2333095]     Ответить | Цитировать Сообщить модератору
 Re: Пологите пожалуйста с триггером....  [new]
clever
Member

Откуда:
Сообщений: 17
Ну триггер же должен срабатывать на вставку, соответственно ничего и не произойдет...
8 фев 06, 12:08    [2333099]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить