Обновление столбцов в зависимости от того, существует ли запись для записи - PullRequest
0 голосов
/ 19 июля 2011

У меня есть 1 таблица, в которой каждую ночь записывается информация о состоянии сервера.Я ссылаюсь на эту таблицу со списком каждого сервера на предприятии, сохраненным в другой таблице, и выполняется запрос к нему, чтобы проверить, была ли запись для этого имени сервера включена в таблицу Maint за последние несколько часов.Эта часть работает хорошо.

Lookup table:
---------------
serverID 
serverName 
isActive

Maintenance Table:
 --------------
ServerID 
ServerName 
LastAttemptedDateTimeStamp

--This part is working fine.

Вот какие функции я хотел бы добавить.Я хочу обновлять таблицу ежедневно (перезаписывая всю старую информацию) и иметь запись для каждой записи в таблице поиска.Если запись для сервера в таблице поиска существует в таблице Maint в течение последних 24 часов, поместите бит SUCCESS (1) в строку, обновив LastAttemptedDateTime и LastSuccDateTimeUpdate.

Если запись для этой таблицы не существует, установите бит FAILED (0) и НЕ обновляйте LastSuccDateTimeUpdate

Reporting Table:
----------------
-LastAttemptedDateTime
-LastSuccDateTimeUpdate
-WasSuccessfull (bit) 0 or 1

Как это можно сделать?

1 Ответ

1 голос
/ 19 июля 2011

Вот некоторый псевдокод, использующий регистр:

Update ReportingTable R
SET Col1 = SomeValue,
    Col2 = SomeOtherValue,
    WasSuccesful = CASE
                   WHEN EXISTS (SELECT 1 FROM LookupTable WHERE ...) THEN 1
                   ELSE 0
                   END

Если вы закончите структуру таблицы, указанную в вашем ОП, я могу быть более конкретным. Я предполагаю, что есть способ связать запись Reporting с Lookup или Maintenance записью ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...