powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / настройка триггера, для проверки наблюдений
5 сообщений из 5, страница 1 из 1
настройка триггера, для проверки наблюдений
    #39713058
Kontox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пример таблицы
declare @t table (code int,item int,[return] int,[action] int)
insert @t (code,item,[return],[action])
values
( 123 ,123 , 123 ,123),
(123 ,123 , 123 ,123),
( 123 ,123 , 123 ,123),
( 123 ,123 , 123 ,123)

select * from @t

4 поля это 4 таблицы (code,item,[return],[action]). 123 это количество наблюдений в таблицах . Должно быть одинаковое.
для чего? таблица @t верификационная .если в какой-то из 4 таблиц разное число наблюдений, это плохо , надо предотвращать.


т.е. каждый день в отдельную таблицу(@t) поступает строчка с количество наблюдений в этих 4 таблицах.
она нужна для контроля наблюдений


можно ли сделать триггер
итак если в таблице @t
например 5 окт 2018
пришло такое соотношение

124,124,125,124 т.е в таблице return оказалось на одно наблюдение больше

т.е. такие наблюдения такие наблюдения в отдельную таблицу, назовем ее badtable

например в новой таблице badtable
будет примерно так (в идеале дату генерить, когда строка оказалась в badtable)
table x1 x2 x3 x4 x5 date
return 1 2 3 4 5 5.10.2018
...
Рейтинг: 0 / 0
настройка триггера, для проверки наблюдений
    #39713128
iiyama
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kontox,
?
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
declare @t table (code int,item int,[return] int,[action] int)
insert @t (code,item,[return],[action])
values
( 123 ,123 , 124 ,123),
(123 ,123 , 123 ,123),
( 123 ,123 , 123 ,123),
( 123 ,123 , 123 ,123)

;With NormLog
AS
(
select  *, MAX(TestCount) OVER(partition BY X) as MaxTestCount, MIN(TestCount) OVER(partition BY X) as MinTestCount, COUNT(*) OVER(partition BY X, TestCount) as Freq 
FROM 
(select *, ROW_NUMBER() OVER(order by (select 1)) as X from @t)p
UNPIVOT
(TestCount For TableName IN ([code],[item],[return],[action])
) unpvt
)

select top 1 with ties *
from NormLog
where MaxTestCount>MinTestCount 
order by Freq
...
Рейтинг: 0 / 0
настройка триггера, для проверки наблюдений
    #39713473
Kontox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Именно, спасибо Вам.
...
Рейтинг: 0 / 0
настройка триггера, для проверки наблюдений
    #39716094
Kontox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопросик появился
select top 1 with ties *
into dbo.checkgroup
from NormLog
where MaxTestCount>MinTestCount
order by Freq

я создал таблицу dbo.checkgroup

как сделать, чтобы каждый раз при запуске этого кода таблица dbo.checkgroup обновлялось новой строчкой

если код повторно запустить, то будет ошибка, что такая табла уже есть

Сообщение 2714, уровень 16, состояние 6, строка 69
В базе данных уже существует объект с именем "checkgroup".
...
Рейтинг: 0 / 0
настройка триггера, для проверки наблюдений
    #39716151
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KontoxВопросик появился
select top 1 with ties *
into dbo.checkgroup
from NormLog
where MaxTestCount>MinTestCount
order by Freq

я создал таблицу dbo.checkgroup

как сделать, чтобы каждый раз при запуске этого кода таблица dbo.checkgroup обновлялось новой строчкой

если код повторно запустить, то будет ошибка, что такая табла уже есть

Сообщение 2714, уровень 16, состояние 6, строка 69
В базе данных уже существует объект с именем "checkgroup".Удивительно, но кроме SELECTа есть ещё команда INSERT
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / настройка триггера, для проверки наблюдений
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]