All pastes #716904 Raw Edit

Gopneg

public sql v1 · immutable
#716904 ·published 2007-09-27 06:55 UTC
rendered paste body
drop trigger if exists ONS_DCSum_trg;drop trigger if exists ONS_DiscountCards_bf_trg;CREATE TRIGGER ONS_DiscountCards_bf_trg BEFORE INSERT ON `ONS_DiscountCards` FOR EACH ROWBEGIN  declare DCKey varchar(38);  declare Summ float(9,3);  select ds.primaryKey, ds.DCSum     into DCKey, Summ  from ons_dcsum ds  where ds.CardNumber = new.CardNumber	and ds.State = 0    and ds.DCTime + interval 6 day >= utc_time()    and ds.DCSum = (		select max(ds.DCSum)		from ons_dcsum ds		where ds.CardNumber = new.CardNumber		  and ds.State = 0		  and ds.DCTime + interval 6 day >= utc_time() ) LIMIT 1 ;  if DCKey is not null then	update ons_dcsum set State = 1 where primaryKey = DCKey;      	if Summ > 500    then    	set new.State = 0;	else     	set new.State = 1;    end if;  end if;END;CREATE TRIGGER ONS_DCSum_trg BEFORE INSERT ON `ONS_DCSum` FOR EACH ROWBEGIN      declare cnt int(11);    update ons_discountcards set State = (IF (new.DCSum >= 250, 0, 1))  where State <> 0 and CardNumber = new.CardNumber;            select count(*) as cnt  into cnt  from ons_discountcards ds  where ds.CardNumber = new.CardNumber;    if cnt > 0  	then     	SET new.State = 1;  end if;END;