Генератор зла писал(а):Я просто удаляю из вьюера AlarmAndEvents (как то так, надо смотреть, а я дома) обычным Delete Select * Where условие
Насколько мне известно (только что проверил), все представления в созданной штатными средствами базе данных WWALMDB имеют префикс "v_".
Мне кажется, вы имеете в виду представление
AlarmEvents, которое требуется создавать отдельно вручную, что для моего случая подходит с БОЛЬШИМИ оговорками.
И к тому же, как с этим представлением, так и с любыми другими запрос типа
- Код: Выделить всё
SET DATEFORMAT dmy
DELETE FROM [AlarmEvents]
WHERE AlarmEventTime < '18/10/2012 12:00:00'
возвращает ошибку
Невозможно обновить представление или функцию "AlarmEvents", так как изменение влияет на несколько базовых таблиц.
===================================================================
- Код: Выделить всё
CREATE VIEW AlarmEvents AS
SELECT AlarmDetail.EventStamp AS AlarmEventTime,
AlarmDetail.TransitionTimeZoneOffset AS AlarmEventTimeZoneOffset,
Comment.Comment AS Comment,
AlarmMaster.Tagname AS Tagname,
AlarmDetail.ValueString AS ValueString,
AlarmDetail.OperatorName AS OperatorName,
AlarmDetail.Priority AS AlarmEventPriority,
AlarmDetail.AlarmState AS AlarmEventState,
AlarmDetail.TransitionTime AS OriginStamp,
AlarmMaster.GroupName AS GroupName
FROM AlarmMaster INNER JOIN AlarmDetail ON
AlarmMaster.AlarmId = AlarmDetail.AlarmId
LEFT OUTER JOIN Comment ON AlarmDetail.CommentId = Comment.CommentId
--WHERE AlarmDetail.AlarmTransition <> 'ACK' AND AlarmDetail.ValueString <> 'OFF'
--ORDER BY AlarmDetail.TransitionTime
UNION ALL SELECT
Events.EventTime as EventStamp,
Events.EventTimeZoneOffset AS AlarmEventTimeZoneOffset,
Events.Comment as Comment,
Events.Tagname as Tagname,
Events.ValueString AS ValueString,
Events.OperatorName AS OperatorName,
Events.EventPriority AS Priority,
Events.EventState AS State,
Events.EventTime AS OriginStamp,
Events.GroupName AS GroupName
FROM Events
--where Events.ValueString<>'OFF'
--order by Events.EventTime