Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Flatly)
  • No Skin
Collapse
Brand Logo

NetXMS Forum

  1. Home
  2. Support (Russian)
  3. Проверка изменений в Таблицах (DB)

Проверка изменений в Таблицах (DB)

Scheduled Pinned Locked Moved Support (Russian)
15 Posts 3 Posters 23.2k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • V
    V
    VSS
    wrote on last edited by
    #6

    @alk said in Проверка изменений в Таблицах (DB):

    В данных, которые лежат в таблице – в них есть время добавления записи?

    Да специально добавили дату, но вопрос в том как определить, что DBQuery вернул именно последнюю запись. Т.е. получается надо где-то хранить или время последнего получения или номер или количество объектов.

    И еще не понятно как часто организовать опрос... ведь данные сыпятся в БД достаточно часто!

    1 Reply Last reply
    0
    • K
      K
      kozlov_ao
      wrote on last edited by
      #7

      order by record_timestamp desc

      сортирует по дате

      limit 1

      вернет только одну запись

      вот и получается последняя добавленная запись.

      По поводу частоты. Реши для себя, какой промежуток между добавлениями для тебя критичен, с такой частотой и дергай.

      1 Reply Last reply
      0
      • V
        V
        VSS
        wrote on last edited by
        #8

        @kozlov_ao said in Проверка изменений в Таблицах (DB):

        order by record_timestamp desc

        сортирует по дате

        limit 1

        вернет только одну запись

        вот и получается последняя добавленная запись.

        По поводу частоты. Реши для себя, какой промежуток между добавлениями для тебя критичен, с такой частотой и дергай.

        Спасибо с частотой понятно, тут надо искать оптимальное значение, но похоже придется брать 1 секунда ведь чаще нельзя..

        А по поводу последней записи я имел ввиду реальную последнюю запись, т.е. при выборке проверить что с прошлого раза это запись точно последняя, например, по индексу. Но похоже этого сделать не получится. Пока не нашел как вообще вернуть несколько результатов в одном DBQuery.

        1 Reply Last reply
        0
        • K
          K
          kozlov_ao
          wrote on last edited by
          #9

          Возможно я не до конца понял, что ты хочешь...
          Данный запрос вернет время добавления записи в секундах. Их и смотришь. Куда точнее и реальнее то? 🙂

          1 Reply Last reply
          0
          • V
            V
            VSS
            wrote on last edited by
            #10

            @kozlov_ao said in Проверка изменений в Таблицах (DB):

            Возможно я не до конца понял, что ты хочешь...
            Данный запрос вернет время добавления записи в секундах. Их и смотришь. Куда точнее и реальнее то? 🙂

            Попробую расписать поподробнее. Есть таблица журнала в нее постоянно сыпятся события. Для событий есть поля Тип, Номер объекта, Значение события, Время возникновения . Задача стоит в том, что надо проверить что между двумя последними событиями в таблице для тип = "..." и номера = "..." и значение = "..." разница во времени возникновения не превысила интервал Х.

            1 Reply Last reply
            0
            • K
              K
              kozlov_ao
              wrote on last edited by
              #11

              ну.. интервал Х = периоду опроса, делаешь запрос.. если последняя запись старее чем "интервал Х" - выплевываем аларм. Такой вариант не подходит? или нужно сравнение делать именно между существующими записями?

              1 Reply Last reply
              0
              • V
                V
                VSS
                wrote on last edited by
                #12

                @kozlov_ao said in Проверка изменений в Таблицах (DB):

                ну.. интервал Х = периоду опроса, делаешь запрос.. если последняя запись старее чем "интервал Х" - выплевываем аларм. Такой вариант не подходит? или нужно сравнение делать именно между существующими записями?

                да, сравнение нужно делать именно между существующими записями и получается что опрос нужно делать для записей у которых разное поле значение = "ON" и значение = "OFF".

                Появилась идея сделать запрос в котором объединить несколько полей в один результат а потом как-то выкрутить при помощи Transformation скрипта .... ?

                1 Reply Last reply
                0
                • K
                  K
                  kozlov_ao
                  wrote on last edited by
                  #13

                  ну тогда тебе 2 DCI надо:

                  1. получает последнее значение для ON
                  2. получает последнее значение для OFF и в Transformation Script вычислять разницу между $1 и значением из п.1
                  1 Reply Last reply
                  0
                  • V
                    V
                    VSS
                    wrote on last edited by
                    #14

                    @kozlov_ao said in Проверка изменений в Таблицах (DB):

                    ну тогда тебе 2 DCI надо:

                    1. получает последнее значение для ON
                    2. получает последнее значение для OFF и в Transformation Script вычислять разницу между $1 и значением из п.1

                    Спасибо, будем пробовать!

                    Я же правильно понял что из DBQuery невозможно вернуть несколько результатов, т.е. в скрипте есть только $1?

                    1 Reply Last reply
                    0
                    • K
                      K
                      kozlov_ao
                      wrote on last edited by
                      #15

                      да

                      1 Reply Last reply
                      0

                      Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                      Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                      With your input, this post could be even better 💗

                      Register Login
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      Powered by NodeBB Contributors
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Users
                      • Groups