29.03.2024
Эффективная Навигация М2М
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Форум (скрипты, вопросы...) » Прочее » Прочее, что не вошло в другие части форума » Фильтрация сигналов от тревожной кнопки.
Фильтрация сигналов от тревожной кнопки.
NoelДата: Среда, 05.02.2014, 09:50 | Сообщение # 31
Москва
Группа: Модераторы
Сообщений: 67
Репутация: 4
Статус: Offline
logoff, чтобы мне вернуть код первого тригера, который отсекает только 19, мне просто запустить его скрипт или удалять тригер, а потом пересоздавать ?

Добавлено (05.02.2014, 09:50)
---------------------------------------------
Я создал табличку Noalarm, туда буду записывать приборы которые кидают только порт 19. А что в триггере поменять не знаю, чтобы он к этой таблице обращался  sad
Т.е я хочу сделать две таблицы дополнительные и два триггера. Так ведь будет работать ?

 
logoffДата: Среда, 05.02.2014, 17:00 | Сообщение # 32
Тамбов
Группа: Администраторы
Сообщений: 655
Репутация: 19
Статус: Offline
давайте в одном тригере все соберем
 
logoffДата: Среда, 05.02.2014, 17:17 | Сообщение # 33
Тамбов
Группа: Администраторы
Сообщений: 655
Репутация: 19
Статус: Offline
Создаем таблицу, где будем помечать что нужно удалить ВСЕ датчики
Код
USE [bn_patp_dob]
GO

/****** Object:  Table [dbo].[NoAllSens_devices]    Script Date: 05.02.2014 17:14:53 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[NoAllSens_devices](
     [id] [int]IDENTITY(1,1) NOT NULL,
    [device_code] [varchar](16) NOT NULL,
  CONSTRAINT [PK_NoAllSens_devices] PRIMARY KEY CLUSTERED  
(
     [id]ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON  
[PRIMARY]) ON  

[PRIMARY]GO

SET ANSI_PADDING OFF
GO


Теперь меняем тригер на нужный
Код
USE [bn_patp_dob]
GO
/****** Object:  Trigger [dbo].[No19Sens]    Script Date: 05.02.2014 17:09:15 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

ALTER TRIGGER [dbo].[No19Sens]
    ON  [dbo].[SYS_DEV_DirtyData]  
    AFTER INSERT
AS  
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;

     -- Insert statements for trigger here
    update DD  
    set dd.[digit_sens_num] =  case when i.digit_sens_num&power(2,19-1)>0 then i.digit_sens_num^power(2,19-1) else i.digit_sens_num end    
    FROM inserted as i  
    inner join [dbo].[SYS_DEV_DirtyData] as dd on dd.id=i.id
    inner join [dbo].[No19Sens_devices] as No19 on No19.device_code=i.device_code

     -- Insert statements for trigger here
    update DD  
    set dd.[digit_sens_num] =  0    
    FROM inserted as i  
    inner join [dbo].[SYS_DEV_DirtyData] as dd on dd.id=i.id
    inner join [dbo].[NoAllSens_devices] as NoAll on NoAll.device_code=i.device_code

END

таблица NoAllSens_devices - хранит данные по номера приборов, по которым надо будет очищать вообще все датчики
 
NoelДата: Четверг, 06.02.2014, 11:13 | Сообщение # 34
Москва
Группа: Модераторы
Сообщений: 67
Репутация: 4
Статус: Offline
Замечательно! Все получилось, спасибо. Теперь хочу сделать счетчик, сколько раз этот триггер сработал. Я погуглил, вроде как нужно сделать еще один триггер, который и будет счетчиком. Может есть какой то другой способ ?

Добавлено (06.02.2014, 11:13)
---------------------------------------------
Хотя возможно, пользовательским отчетом можно.

 
logoffДата: Четверг, 06.02.2014, 13:09 | Сообщение # 35
Тамбов
Группа: Администраторы
Сообщений: 655
Репутация: 19
Статус: Offline
эм... не очень понятно:
1. а зачем?
2. триггер срабатывает для ГРУПП СТРОК (вставка из трансферклиента идет обычно в транзакции группой), а не одной - точно нужно "количество срабатываний"?
 
NoelДата: Четверг, 06.02.2014, 22:01 | Сообщение # 36
Москва
Группа: Модераторы
Сообщений: 67
Репутация: 4
Статус: Offline
logoff, ну, например для статистических данных, чтобы X приборов отправили в день Y тревожных сообщений. Потом обслуживающей организации эту цифру озвучу. Хотя никакой жизненно важной причины нет.

Сообщение отредактировал Noel - Четверг, 06.02.2014, 22:02
 
Форум (скрипты, вопросы...) » Прочее » Прочее, что не вошло в другие части форума » Фильтрация сигналов от тревожной кнопки.
  • Страница 3 из 3
  • «
  • 1
  • 2
  • 3
Поиск:

LogOff © 2024
Сайт создан в системе uCoz Рейтинг GPS Клуба. GPS навигаторы. GPS мониториг. GPS трекеры. ГЛОНАСС