<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Проверка изменений в Таблицах (DB)]]></title><description><![CDATA[<p dir="auto">Всем привет!</p>
<p dir="auto">Возникла задача определить превышает ли разница по времени между последними записями с определенным критерием в Таблице определенный интервал... Обновления в таблицу сыпятся иногда каждую секунду или даже по несколько записей в секунду, бывает правда перерыв.</p>
<p dir="auto">Подскажите, пожалуйста, как бы лучше решить поставленную задачу?</p>
]]></description><link>https://forum.netxms.org/topic/3823/проверка-изменений-в-таблицах-db</link><generator>RSS for Node</generator><lastBuildDate>Fri, 13 Nov 2026 21:29:13 GMT</lastBuildDate><atom:link href="https://forum.netxms.org/topic/3823.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 17 Jun 2015 07:33:30 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Проверка изменений в Таблицах (DB) on Thu, 18 Jun 2015 09:50:42 GMT]]></title><description><![CDATA[<p dir="auto">да</p>
]]></description><link>https://forum.netxms.org/post/17098</link><guid isPermaLink="true">https://forum.netxms.org/post/17098</guid><dc:creator><![CDATA[kozlov_ao]]></dc:creator><pubDate>Thu, 18 Jun 2015 09:50:42 GMT</pubDate></item><item><title><![CDATA[Reply to Проверка изменений в Таблицах (DB) on Thu, 18 Jun 2015 09:40:05 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/kozlov_ao" aria-label="Profile: kozlov_ao">@<bdi>kozlov_ao</bdi></a> said in <a href="/post/17096">Проверка изменений в Таблицах (DB)</a>:</p>
<blockquote>
<p dir="auto">ну тогда тебе 2 DCI надо:</p>
<ol>
<li>получает последнее значение для ON</li>
<li>получает последнее значение для OFF и в Transformation Script вычислять разницу между $1 и значением из п.1</li>
</ol>
</blockquote>
<p dir="auto">Спасибо, будем пробовать!</p>
<p dir="auto">Я же правильно понял что из DBQuery невозможно вернуть несколько результатов, т.е. в скрипте есть только $1?</p>
]]></description><link>https://forum.netxms.org/post/17097</link><guid isPermaLink="true">https://forum.netxms.org/post/17097</guid><dc:creator><![CDATA[VSS]]></dc:creator><pubDate>Thu, 18 Jun 2015 09:40:05 GMT</pubDate></item><item><title><![CDATA[Reply to Проверка изменений в Таблицах (DB) on Thu, 18 Jun 2015 07:58:38 GMT]]></title><description><![CDATA[<p dir="auto">ну тогда тебе 2 DCI надо:</p>
<ol>
<li>получает последнее значение для ON</li>
<li>получает последнее значение для OFF и в Transformation Script вычислять разницу между $1 и значением из п.1</li>
</ol>
]]></description><link>https://forum.netxms.org/post/17096</link><guid isPermaLink="true">https://forum.netxms.org/post/17096</guid><dc:creator><![CDATA[kozlov_ao]]></dc:creator><pubDate>Thu, 18 Jun 2015 07:58:38 GMT</pubDate></item><item><title><![CDATA[Reply to Проверка изменений в Таблицах (DB) on Thu, 18 Jun 2015 06:46:38 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/kozlov_ao" aria-label="Profile: kozlov_ao">@<bdi>kozlov_ao</bdi></a> said in <a href="/post/17094">Проверка изменений в Таблицах (DB)</a>:</p>
<blockquote>
<p dir="auto">ну.. интервал Х = периоду опроса, делаешь запрос.. если последняя запись старее чем "интервал Х" - выплевываем аларм. Такой вариант не подходит? или нужно сравнение делать именно между существующими записями?</p>
</blockquote>
<p dir="auto">да, сравнение нужно делать именно между существующими записями и получается что опрос нужно делать для записей у которых разное поле значение = "ON" и значение = "OFF".</p>
<p dir="auto">Появилась идея сделать запрос в котором объединить несколько полей в один результат а потом как-то выкрутить при помощи Transformation скрипта .... ?</p>
]]></description><link>https://forum.netxms.org/post/17095</link><guid isPermaLink="true">https://forum.netxms.org/post/17095</guid><dc:creator><![CDATA[VSS]]></dc:creator><pubDate>Thu, 18 Jun 2015 06:46:38 GMT</pubDate></item><item><title><![CDATA[Reply to Проверка изменений в Таблицах (DB) on Thu, 18 Jun 2015 06:38:00 GMT]]></title><description><![CDATA[<p dir="auto">ну.. интервал Х = периоду опроса, делаешь запрос.. если последняя запись старее чем "интервал Х" - выплевываем аларм. Такой вариант не подходит? или нужно сравнение делать именно между существующими записями?</p>
]]></description><link>https://forum.netxms.org/post/17094</link><guid isPermaLink="true">https://forum.netxms.org/post/17094</guid><dc:creator><![CDATA[kozlov_ao]]></dc:creator><pubDate>Thu, 18 Jun 2015 06:38:00 GMT</pubDate></item><item><title><![CDATA[Reply to Проверка изменений в Таблицах (DB) on Thu, 18 Jun 2015 06:19:28 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/kozlov_ao" aria-label="Profile: kozlov_ao">@<bdi>kozlov_ao</bdi></a> said in <a href="/post/17092">Проверка изменений в Таблицах (DB)</a>:</p>
<blockquote>
<p dir="auto">Возможно я не до конца понял, что ты хочешь...<br />
Данный запрос вернет время добавления записи в секундах. Их и смотришь. Куда точнее и реальнее то? <img src="https://forum.netxms.org/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=72b86a538fc" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:1.4em;width:auto;vertical-align:middle" title=":)" alt="🙂" /></p>
</blockquote>
<p dir="auto">Попробую расписать поподробнее. Есть таблица журнала в нее постоянно сыпятся события. Для событий есть поля Тип, Номер объекта, Значение события, Время возникновения . Задача стоит в том, что надо проверить что между двумя последними событиями в таблице для тип = "..." и номера = "..." и значение = "..." разница во времени возникновения не превысила интервал Х.</p>
]]></description><link>https://forum.netxms.org/post/17093</link><guid isPermaLink="true">https://forum.netxms.org/post/17093</guid><dc:creator><![CDATA[VSS]]></dc:creator><pubDate>Thu, 18 Jun 2015 06:19:28 GMT</pubDate></item><item><title><![CDATA[Reply to Проверка изменений в Таблицах (DB) on Thu, 18 Jun 2015 06:10:04 GMT]]></title><description><![CDATA[<p dir="auto">Возможно я не до конца понял, что ты хочешь...<br />
Данный запрос вернет время добавления записи в секундах. Их и смотришь. Куда точнее и реальнее то? <img src="https://forum.netxms.org/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=72b86a538fc" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:1.4em;width:auto;vertical-align:middle" title=":)" alt="🙂" /></p>
]]></description><link>https://forum.netxms.org/post/17092</link><guid isPermaLink="true">https://forum.netxms.org/post/17092</guid><dc:creator><![CDATA[kozlov_ao]]></dc:creator><pubDate>Thu, 18 Jun 2015 06:10:04 GMT</pubDate></item><item><title><![CDATA[Reply to Проверка изменений в Таблицах (DB) on Thu, 18 Jun 2015 06:00:03 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/kozlov_ao" aria-label="Profile: kozlov_ao">@<bdi>kozlov_ao</bdi></a> said in <a href="/post/17090">Проверка изменений в Таблицах (DB)</a>:</p>
<blockquote>
<blockquote>
<p dir="auto">order by record_timestamp desc</p>
</blockquote>
<p dir="auto">сортирует по дате</p>
<blockquote>
<p dir="auto">limit 1</p>
</blockquote>
<p dir="auto">вернет только одну запись</p>
<p dir="auto">вот и получается последняя добавленная запись.</p>
<p dir="auto">По поводу частоты. Реши для себя, какой промежуток между добавлениями для тебя критичен, с такой частотой и дергай.</p>
</blockquote>
<p dir="auto">Спасибо с частотой понятно, тут надо искать оптимальное значение, но похоже придется брать 1 секунда ведь чаще нельзя..</p>
<p dir="auto">А по поводу последней записи я имел ввиду реальную последнюю запись, т.е. при выборке проверить что с прошлого раза это запись точно последняя, например, по индексу. Но похоже этого сделать не получится. Пока не нашел как вообще вернуть несколько результатов в одном DBQuery.</p>
]]></description><link>https://forum.netxms.org/post/17091</link><guid isPermaLink="true">https://forum.netxms.org/post/17091</guid><dc:creator><![CDATA[VSS]]></dc:creator><pubDate>Thu, 18 Jun 2015 06:00:03 GMT</pubDate></item><item><title><![CDATA[Reply to Проверка изменений в Таблицах (DB) on Thu, 18 Jun 2015 05:52:51 GMT]]></title><description><![CDATA[<blockquote>
<p dir="auto">order by record_timestamp desc</p>
</blockquote>
<p dir="auto">сортирует по дате</p>
<blockquote>
<p dir="auto">limit 1</p>
</blockquote>
<p dir="auto">вернет только одну запись</p>
<p dir="auto">вот и получается последняя добавленная запись.</p>
<p dir="auto">По поводу частоты. Реши для себя, какой промежуток между добавлениями для тебя критичен, с такой частотой и дергай.</p>
]]></description><link>https://forum.netxms.org/post/17090</link><guid isPermaLink="true">https://forum.netxms.org/post/17090</guid><dc:creator><![CDATA[kozlov_ao]]></dc:creator><pubDate>Thu, 18 Jun 2015 05:52:51 GMT</pubDate></item><item><title><![CDATA[Reply to Проверка изменений в Таблицах (DB) on Thu, 18 Jun 2015 05:03:00 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/alk" aria-label="Profile: alk">@<bdi>alk</bdi></a> said in <a href="/post/17078">Проверка изменений в Таблицах (DB)</a>:</p>
<blockquote>
<p dir="auto">В данных, которые лежат в таблице – в них есть время добавления записи?</p>
</blockquote>
<p dir="auto">Да специально добавили дату, но вопрос в том как определить, что DBQuery вернул именно последнюю запись. Т.е. получается надо где-то хранить или время последнего получения или номер или количество объектов.</p>
<p dir="auto">И еще не понятно как часто организовать опрос... ведь данные сыпятся в БД достаточно часто!</p>
]]></description><link>https://forum.netxms.org/post/17088</link><guid isPermaLink="true">https://forum.netxms.org/post/17088</guid><dc:creator><![CDATA[VSS]]></dc:creator><pubDate>Thu, 18 Jun 2015 05:03:00 GMT</pubDate></item><item><title><![CDATA[Reply to Проверка изменений в Таблицах (DB) on Wed, 17 Jun 2015 13:08:59 GMT]]></title><description><![CDATA[<p dir="auto">Ну и самое простое (если записи только добавляются) – delta по max:<code>select count(*) from t1</code></p>
]]></description><link>https://forum.netxms.org/post/17079</link><guid isPermaLink="true">https://forum.netxms.org/post/17079</guid><dc:creator><![CDATA[alk]]></dc:creator><pubDate>Wed, 17 Jun 2015 13:08:59 GMT</pubDate></item><item><title><![CDATA[Reply to Проверка изменений в Таблицах (DB) on Wed, 17 Jun 2015 12:30:50 GMT]]></title><description><![CDATA[<p dir="auto">В данных, которые лежат в таблице – в них есть время добавления записи?</p>
]]></description><link>https://forum.netxms.org/post/17078</link><guid isPermaLink="true">https://forum.netxms.org/post/17078</guid><dc:creator><![CDATA[alk]]></dc:creator><pubDate>Wed, 17 Jun 2015 12:30:50 GMT</pubDate></item><item><title><![CDATA[Reply to Проверка изменений в Таблицах (DB) on Wed, 17 Jun 2015 12:29:29 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/alk" aria-label="Profile: alk">@<bdi>alk</bdi></a> said in <a href="/post/17076">Проверка изменений в Таблицах (DB)</a>:</p>
<blockquote>
<p dir="auto">Я бы возвращал время последней записи в виде unix timestamp (количество секунд) и потом сделал бы threshold с функцией delta.</p>
<p dir="auto">Что-то типа:<code>select extract(epoch from record_timestamp) from … where … order by record_timestamp desc limit 1</code></p>
<p dir="auto">Запрос можно выполнять через DBQuery субагент: <a href="https://www.netxms.org/documentation/adminguide/subagents.html#dbquery" rel="nofollow ugc">https://www.netxms.org/documentation/adminguide/subagents.html#dbquery</a></p>
</blockquote>
<p dir="auto">Спасибо за подсказку! А как часто проводить опрос через DBQuery. Получается чтобы не пропустить новую запись надо или хранить в какой-то переменной индекс предыдущей или опрашивать очень часто?</p>
]]></description><link>https://forum.netxms.org/post/17077</link><guid isPermaLink="true">https://forum.netxms.org/post/17077</guid><dc:creator><![CDATA[VSS]]></dc:creator><pubDate>Wed, 17 Jun 2015 12:29:29 GMT</pubDate></item><item><title><![CDATA[Reply to Проверка изменений в Таблицах (DB) on Wed, 17 Jun 2015 11:22:14 GMT]]></title><description><![CDATA[<p dir="auto">Я бы возвращал время последней записи в виде unix timestamp (количество секунд) и потом сделал бы threshold с функцией delta.</p>
<p dir="auto">Что-то типа:<code>select extract(epoch from record_timestamp) from … where … order by record_timestamp desc limit 1</code></p>
<p dir="auto">Запрос можно выполнять через DBQuery субагент: <a href="https://www.netxms.org/documentation/adminguide/subagents.html#dbquery" rel="nofollow ugc">https://www.netxms.org/documentation/adminguide/subagents.html#dbquery</a></p>
]]></description><link>https://forum.netxms.org/post/17076</link><guid isPermaLink="true">https://forum.netxms.org/post/17076</guid><dc:creator><![CDATA[alk]]></dc:creator><pubDate>Wed, 17 Jun 2015 11:22:14 GMT</pubDate></item></channel></rss>