1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
IS
XCB number(6,2);
XCHEQUE number(6,2);
XAUTRE number(6,2);
XTOTAL number(6,2);
BEGIN
XCB:=0;
XCHEQUE:=0;
XAUTRE:=0;
XTOTAL:=0;
delete from RECETTE;
for x in (select * from PUBLICATION)
loop
select sum(TARIFOFUP) into XCHEQUE
from ABONNEMENT, SOUSCRIPTION
where ABONNEMENT.REFAB = SOUSCRIPTION.REFAB
and TITRE = x.TITRE
and TYPEPAI = 1;
select sum(TARIFOFUP) into XCB
from ABONNEMENT, SOUSCRIPTION
where ABONNEMENT.REFAB = SOUSCRIPTION.REFAB
and TITRE = x.TITRE
and TYPEPAI = 2;
select sum(TARIFOFUP) into XAUTRE
from ABONNEMENT, SOUSCRIPTION
where ABONNEMENT.REFAB = SOUSCRIPTION.REFAB
and TITRE = x.TITRE
and TYPEPAI = 3;
XTOTAL := XCHEQUE + XCB + XAUTRE;
insert into RECETTE (TITRE, CB, CHEQUE, AUTRE, TOTAL)
values (x.TITRE, XCB, XCHEQUE, XAUTRE, XTOTAL);
end loop;
commit;
END; |
Partager