Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 3

CREATE USER MASTER2 IDENTIFIED BY HADJER ;

grant all PRIVILEGES to MASTER2;

CREATE TABLE DCLIENT (


CODECL NUMBER(8) PRIMARY KEY,
NOMCL VARCHAR(30),
CODETYPECL NUMBER(8) ,
LIBTYPECL VARCHAR(30));

CREATE TABLE DCOMMMUNE( CODECOMMUNE NUMBER(8) PRIMARY KEY,


NOMC VARCHAR(25),
TYPEC VARCHAR(25),
CODEDAIRA NUMBER(8),
NOMDAIRA VARCHAR(30),
CODEWILAYA NUMBER(8),
NOMWILAYA VARCHAR(30))

CREATE TABLE DTYPE_TRANSACTION (


CODETYPETR NUMBER(2)PRIMARY KEY ,
TYPETYPETR VARCHAR2(30)
);

CREATE TABLE DTYPE_BIEN (


CODETYPEB NUMBER(8) PRIMARY KEY ,
LIBTYPEB VARCHAR2(30)
);
CREATE TABLE DPERSONNEL(
CODEP NUMBER(8) PRIMARY KEY,
NOMP VARCHAR(25),
ANCIENNETE VARCHAR(25) );
CREATE TABLE DTEMPS (
CODETemps NUMBER(8)PRIMARY KEY ,
JOUR VARCHAR2(10),
LIBJOUR VARCHAR2(25),
MOIS VARCHAR2(7),
LIBMOIS VARCHAR2(25),
ANNEE VARCHAR2(5)
);

CREATE TABLE FTRANSACTION(


CODECL NUMBER(8) REFERENCES DCLIENT(CODECL),
CODECOMMUNE NUMBER(8) REFERENCES DCOMMMUNE(CODECOMMUNE),
CODETYPETRANSACTION NUMBER(8) REFERENCES
DTYPE_TRANSACTION(CODETYPETR),
CODETYPEBIEN NUMBER(8) REFERENCES DTYPE_BIEN(CODETYPEB),
CODEP NUMBER(8) REFERENCES DPERSONNEL(CODEP),
CODETEMPS NUMBER(8) REFERENCES DTEMPS(CODETEMPS),
NBTRANSACTIONS NUMBER,
MONTANT NUMBER,
CONSTRAINT PK_KEY PRIMARY KEY(CODECL ,
CODECOMMUNE ,CODETYPETRANSACTION ,CODETYPEBIEN, CODEP, CODETEMPS));

BEGIN
FOR I IN( SELECT C.CODECL ,C.NOMCL,C.CODETYPECL,TC.LIBTYPECL
FROM system.CLIENT C,system.TYPE_CLIENT TC
WHERE C.CODETYPECL=TC.CODETYPECL
)LOOP INSERT INTO DCLIENT VALUES(I.CODECL,I.NOMCL,I.CODETYPECL,I.LIBTYPECL);
END LOOP;
COMMIT;
END;
/

BEGIN
FOR I IN
(SELECT C.CODEC, C.NOMC, C.TYPEC, D.CODED, D.NOMD, W.CODEW, W.NOMW
FROM system.COMMUNE C, system.DAIRA D, system.WILAYA W
WHERE C.CODED = D.CODED
AND W.CODEW = D.CODEW ) LOOP
INSERT INTO DCOMMMUNE VALUES (I.CODEC, I.NOMC, I.TYPEC, I.CODED, I.NOMD, I.CODEW,
I.NOMW );
END LOOP;
COMMIT;
END;
/

BEGIN
FOR I IN
(SELECT TB.CODETYPEB, TB.LIBTYPEB
FROM system.TYPE_BIEN TB
) LOOP
INSERT INTO DTYPE_BIEN VALUES (I.CODETYPEB,I.LIBTYPEB);
END LOOP;
COMMIT;
END;
/

BEGIN
FOR I IN
(SELECT P.CODEP, P.NOMP, P.ANCIERINETE
FROM system.PERSONNEL P
) LOOP
INSERT INTO DPERSONNEL VALUES ( I.CODEP, I.NOMP, I.ANCIERINETE);
END LOOP;
COMMIT;
END;
/
INSERT INTO DTYPE_TRANSACTION VALUES(1,'VENTE');
INSERT INTO DTYPE_TRANSACTION VALUES(2,'LOCATION');

CREATE SEQUENCE seq


MINVALUE 1
MAXVALUE 100000
START WITH 1
INCREMENT BY 1 ;
begin

FOR I IN (SELECT DISTINCT


TO_CHAR(DATET,'DD/MM/YYYY') AS JOUR,
TO_CHAR(DATET,'DAY') AS LIBJOUR,
TO_CHAR(DATET,'MM/YYYY') AS MOIS,
TO_CHAR(DATET,'MONTH') AS LIBMOIS,
TO_CHAR(DATET,'YYYY') AS ANNEE
FROM system.TRANSACTION )LOOP
INSERT INTO DTEMPS VALUES(SEQ.NEXTVAL, I.JOUR,I.LIBJOUR, I.MOIS, I.LIBMOIS,
I.ANNEE);
END LOOP;
COMMIT ;
END;
/

BEGIN
FOR I IN
( SELECT COUNT(TR.CODET) AS NBTRANSACTIONS, C.CODECL, CO.CODEC, TR.TYPEt,
TB.CODETYPEB, DT.CODETEMPS, P.CODEP, SUM(TR.MONTANT) AS MONTANT , SUM(TR.MENSALITE)
AS MEN
FROM system.CLIENT C, system.COMMUNE CO, system.TRANSACTION TR, system.TYPE_BIEN
TB, system.PERSONNEl P, master2.DTEMPS DT
GROUP BY ( C.CODECL, CO.CODEC, TR.TYPEt, TB.CODETYPEB, DT.CODETEMPS, P.CODEP)
) LOOP
INSERT INTO Ftransaction VALUES (I.CODECL, I.CODEC, I.TYPEt, I.CODETYPEB,
I.CODETEMPS, I.CODEP, I.NBTRANSACTIONS, DECODE(I.TYPEt,1,I.MONTANT,I.MEN));
END LOOP;
COMMIT;
END;
/

You might also like