powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / поможите, люди добрые.. не пойму в чем фишка..
2 сообщений из 2, страница 1 из 1
поможите, люди добрые.. не пойму в чем фишка..
    #32131050
aleks26rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеются две баз и триггер следующего вида:
CREATE TRIGGER ADD_ACTIV1 FOR APPLE AFTER INSERT POSITION 0 AS
DECLARE VARIABLE CNT INTEGER;
DECLARE VARIABLE OLD_CNT INTEGER;
BEGIN
SELECT COUNT(*)
FROM ACTIV1
WHERE
ACTIV1.NAIM = NEW.NAME AND
ACTIV1.PABA = NEW.PABA AND
ACTIV1.SUF = NEW.SUF AND
ACTIV1.PREF = NEW.PREF
INTO : CNT;
IF (( :CNT = 0) AND (
(NEW.TIPS = 'LH')
OR (NEW.TIPS = 'LA')
OR (NEW.TIPS = 'LM')
OR (NEW.TIPS = 'L0')
OR (NEW.TIPS = 'LQ')
OR (NEW.TIPS = 'L4')
or (new.tips = 'L2')
))

THEN
INSERT INTO ACTIV1 (TIP_SCH,NAIM, NOM, PREF, PABA, SUF ,OST_CH, DATE_VIDACH, KRED_DEN, POGASH_DEN,
SCH_KLIENTA,SCH_RETHERV,PROC_STAV, VALUTA, VOST,adig,sum_kr,bal_pz, uplach, nachisl_peni, UPL_PEN, STAVKS_PEN, SUM_OB, SUMS_POGASH,NACHISL)
VALUES ( NEW.TIPS, NEW.NAME, GEN_ID(ACTIV_NOM , 1), NEW.PREF, NEW.PABA, NEW.SUF, NEW.OST, NEW.DATE_P, NEW.DEBV, NEW.KREDV,
'0000000000000','0000000000000','0', NEW.VAL, NEW.OSTV,'0',new.ostv,new.bsch, '0', '0', '0', '0', '0','0','0');
ELSE
BEGIN
UPDATE ACTIV1
SET OST_CH = NEW.OST, KRED_DEN = NEW.DEB, POGASH_DEN = NEW.KRED, vost = new.ostv
WHERE
ACTIV1.NAIM = NEW.NAME AND
ACTIV1.PABA = NEW.PABA AND
ACTIV1.SUF = NEW.SUF AND
ACTIV1.PREF = NEW.PREF;
END

Как видно из текста, тригер смотрит поступающие записи для apple , если такая запись есть в activ1 то он её обновляет, если нет, то добавляет. Засада в том что некоторые записи после продолжительного срока работы в activ1 задваиваются, если activ1 отчистить от записей и заполнить заново, то задвоения исчезают.
Мож у кого есть какие нибудь советы или соображения??
...
Рейтинг: 0 / 0
поможите, люди добрые.. не пойму в чем фишка..
    #32132983
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про транзакции читал? Если нет - почитай. По-моему самое оно
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / поможите, люди добрые.. не пойму в чем фишка..
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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