-
zorik © (18.06.08 17:02) [20]
> Как понимать тебя, Саид? (с) т.Сухов8-)CREATE VIEW EXP_LIST_WELL_W2 (
SORTNAME_WELL,
NAME_WELL,
ZDATE,
QO_M
)
AS
select
well.sortname_well,
well.name_well,
mezwello.date_mezwello zdate,
sum(mezo.qo_m) qo_m
from mezo
inner join mezwello on (mezo.id_mezwello = mezwello.id_mezwello)
inner join well on (well.id_well = mezwello.id_well)
group by
well.sortname_well,
well.name_well,
mezwello.date_mezwello -
zorik © (18.06.08 17:06) [21]
> Sergey13 © (18.06.08 16:54) [18]
> Если уж это sortname такое важное, то почему бы не сделать
> его НОРМАЛЬНЫМ полем и следить за его изменением с помощью
> тригеров.ИМХО всяко шустрее должно быть.
Интересно можно ли такое реализовать - тригер срабатывает на добавление или изменение и используя функцию из UDF заполняет дополнительное поле. И не надо его будет пересчитывать каждый раз. Добавления проходят крайне редко, да и в таблице WELL всего около 1500 записей -
zorik © (18.06.08 17:29) [22]Реализовал тригер, как задумал в [21]:CREATE TRIGGER TR_SETSORTNAME_BI FOR WELL
ACTIVE BEFORE INSERT OR UPDATE POSITION 0
AS
BEGIN
new.sortname_well=sortname(new.name_well);
END
;
Дальше буду сам остальные погрешности исправлять.
Спасибо всем! -
Правильный-Вася (18.06.08 17:48) [23]план запроса у вьюхи посмотри
станет ясно направление движения -
zorik © (18.06.08 17:50) [24]
> Правильный-Вася (18.06.08 17:48) [23]
еще не дорос до планов. надо изучать -
zorik © (18.06.08 17:51) [25]добавил индекс для поля sortname, раньше когда оно было вычислительным. это сделать нельзя было