Last active
November 26, 2019 12:13
-
-
Save Mrgove10/424d2f6b93ed2cb35982a34f9113dfed to your computer and use it in GitHub Desktop.
tp de oracle
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
Information | |
Pour avoir les valeurs correctes de la fonction, il faut l'executer individuellement. | |
*/ | |
----------DROPS---------- | |
--DROPS TABLES | |
DROP TABLE ACHAT_BILLET; | |
DROP TABLE SEANCE; | |
DROP TABLE ACTEUR_FILM; | |
DROP TABLE FILM; | |
DROP TABLE CINEMA; | |
DROP TABLE ACTEUR; | |
--DROPS VIEWS | |
DROP VIEW FILMS_ACTEURS; | |
DROP VIEW CINEMAS_SEANCES_FILMS; | |
--DROPS FUNCTIONS/PROCEDURES | |
DROP FUNCTION GET_CHIFFRE_AFFAIRE; | |
DROP PROCEDURE DELETE_ACHATS; | |
--DROPS SEQUENCES | |
DROP SEQUENCE ACHAT_BILLET_SEC; | |
DROP SEQUENCE SEANCE_SEC; | |
DROP SEQUENCE ACTEUR_FILM_SEC; | |
DROP SEQUENCE FILM_SEC; | |
DROP SEQUENCE CINEMA_SEC; | |
DROP SEQUENCE ACTEUR_SEC; | |
----------TABLES---------- | |
--TABLE ACTEUR | |
CREATE TABLE ACTEUR ( | |
ID_ACTEUR NUMBER CONSTRAINT ACTEUR_PK PRIMARY KEY, | |
NOM VARCHAR2(50), | |
PRENOM VARCHAR2(50), | |
DATE_NAISSANCE DATE | |
); | |
--TABLE CINEMA | |
CREATE TABLE CINEMA ( | |
ID_CINE NUMBER CONSTRAINT CINEMA_PK PRIMARY KEY, | |
NOM VARCHAR2(50), | |
ADRESSE VARCHAR2(50), | |
CP VARCHAR2(5), | |
VILLE VARCHAR2(50), | |
NB_SALLES NUMBER | |
); | |
--TABLE FILM | |
CREATE TABLE FILM ( | |
ID_FILM NUMBER CONSTRAINT FILM_PK PRIMARY KEY, | |
NOM VARCHAR2(50), | |
DUREE NUMBER | |
); | |
--TABLE ACTEUR_FILM | |
CREATE TABLE ACTEUR_FILM ( | |
ID_ACTEUR_FILM NUMBER CONSTRAINT ACTEUR_FILM_PK PRIMARY KEY, | |
ID_FILM NUMBER CONSTRAINT ID_FILM_FK references FILM, | |
ID_ACTEUR NUMBER CONSTRAINT ID_ACTEUR_FK references ACTEUR | |
); | |
--TABLE SEANCE | |
CREATE TABLE SEANCE ( | |
ID_CINE NUMBER, | |
ID_FILM NUMBER, | |
ID_SEANCE NUMBER CONSTRAINT SEANCE_PK PRIMARY KEY, | |
DATE_SEANCE TIMESTAMP | |
); | |
--TABLE ACHAT_BILLET | |
CREATE TABLE ACHAT_BILLET ( | |
ID_ACHAT NUMBER CONSTRAINT ACHAT_BILLET_PK PRIMARY KEY, | |
DATE_ACHAT TIMESTAMP, | |
TARIF NUMBER, | |
QUANTITE NUMBER, | |
REDUIT CHAR, | |
ID_SEANCE NUMBER | |
); | |
----------ALTER---------- | |
--ALTER TABLE ACHAT_BILLET | |
ALTER TABLE ACHAT_BILLET | |
ADD | |
CONSTRAINT ACHAT_BILLET_SEANCE_FK FOREIGN KEY (ID_SEANCE) REFERENCES SEANCE; | |
--ALTER TABLE SEANCE | |
ALTER TABLE SEANCE | |
ADD | |
CONSTRAINT SEANCE_CINEMA_FK FOREIGN KEY(ID_CINE) REFERENCES CINEMA(ID_CINE); | |
ALTER TABLE SEANCE | |
ADD | |
CONSTRAINT SEANCE_FILM_FK FOREIGN KEY(ID_FILM) REFERENCES FILM(ID_FILM); | |
----------SEQUENCES---------- | |
--AUTO INCREMENT SEQUENCE TABLE ACTEUR | |
CREATE SEQUENCE ACTEUR_SEC; | |
--AUTO INCREMENT SEQUENCE TABLE CINEMA | |
CREATE SEQUENCE CINEMA_SEC; | |
--AUTO INCREMENT SEQUENCE TABLE FILM | |
CREATE SEQUENCE FILM_SEC; | |
--AUTO INCREMENT SEQUENCE TABLE ACTEUR_FILM | |
CREATE SEQUENCE ACTEUR_FILM_SEC; | |
--AUTO INCREMENT SEQUENCE TABLE SEANCE | |
CREATE SEQUENCE SEANCE_SEC; | |
--AUTO INCREMENT SEQUENCE TABLE ACHAT_BILLET | |
CREATE SEQUENCE ACHAT_BILLET_SEC; | |
----------TRIGGERS---------- | |
--TRIGGER INSERT ACTEUR | |
CREATE | |
OR REPLACE TRIGGER ACTEUR_ON_INSERT BEFORE | |
INSERT ON ACTEUR FOR EACH ROW BEGIN | |
SELECT | |
ACTEUR_SEC.nextval INTO :new.ID_ACTEUR | |
FROM dual; | |
END; | |
/ | |
--TRIGGER INSERT CINEMA | |
CREATE | |
OR REPLACE TRIGGER CINEMA_ON_INSERT BEFORE | |
INSERT ON CINEMA FOR EACH ROW BEGIN | |
SELECT | |
CINEMA_SEC.nextval INTO :new.ID_CINE | |
FROM dual; | |
END; | |
/ | |
--TRIGGER INSERT FILM | |
CREATE | |
OR REPLACE TRIGGER FILM_ON_INSERT BEFORE | |
INSERT ON FILM FOR EACH ROW BEGIN | |
SELECT | |
FILM_SEC.nextval INTO :new.ID_FILM | |
FROM dual; | |
END; | |
/ | |
--TRIGGER INSERT ACTEUR_FILM | |
CREATE | |
OR REPLACE TRIGGER ACTEUR_FILM_ON_INSERT BEFORE | |
INSERT ON ACTEUR_FILM FOR EACH ROW BEGIN | |
SELECT | |
ACTEUR_FILM_SEC.nextval INTO :new.ID_ACTEUR_FILM | |
FROM dual; | |
END; | |
/ | |
--TRIGGER INSERT SEANCE | |
CREATE | |
OR REPLACE TRIGGER SEANCE_ON_INSERT BEFORE | |
INSERT ON SEANCE FOR EACH ROW BEGIN | |
SELECT | |
SEANCE_SEC.nextval INTO :new.ID_SEANCE | |
FROM dual; | |
END; | |
/ | |
--TRIGGER INSERT ACHAT_BILLET | |
CREATE | |
OR REPLACE TRIGGER ACHAT_BILLET_ON_INSERT BEFORE | |
INSERT ON ACHAT_BILLET FOR EACH ROW BEGIN | |
SELECT | |
ACHAT_BILLET_SEC.nextval INTO :new.ID_ACHAT | |
FROM dual; | |
END; | |
/ | |
----------INSERTION DONNEE---------- | |
-- Acteur | |
INSERT INTO ACTEUR(NOM, PRENOM, DATE_NAISSANCE) | |
VALUES | |
( | |
'Leavitt', | |
'Robin', | |
TO_DATE('19701130', 'YYYY-MM-DD') | |
); | |
INSERT INTO ACTEUR(NOM, PRENOM, DATE_NAISSANCE) | |
VALUES | |
( | |
'Jacquet', | |
'Fabien', | |
TO_DATE('19900705', 'YYYY-MM-DD') | |
); | |
INSERT INTO ACTEUR(NOM, PRENOM, DATE_NAISSANCE) | |
VALUES | |
( | |
'Ancel', | |
'Pascal', | |
TO_DATE('19751025', 'YYYY-MM-DD') | |
); | |
INSERT INTO ACTEUR(NOM, PRENOM, DATE_NAISSANCE) | |
VALUES | |
( | |
'Azais', | |
'Capucine', | |
TO_DATE('19910430', 'YYYY-MM-DD') | |
); | |
INSERT INTO ACTEUR(NOM, PRENOM, DATE_NAISSANCE) | |
VALUES | |
( | |
'Chagnon', | |
'Fanny', | |
TO_DATE('19880114', 'YYYY-MM-DD') | |
); | |
INSERT INTO ACTEUR(NOM, PRENOM, DATE_NAISSANCE) | |
VALUES | |
( | |
'Girault', | |
'Rosalie', | |
TO_DATE('19730926', 'YYYY-MM-DD') | |
); | |
INSERT INTO ACTEUR(NOM, PRENOM, DATE_NAISSANCE) | |
VALUES | |
( | |
'Bridges', | |
'Jeff', | |
TO_DATE('19751025', 'YYYY-MM-DD') | |
); | |
INSERT INTO ACTEUR(NOM, PRENOM, DATE_NAISSANCE) | |
VALUES | |
( | |
'Wilde', | |
'Olivia', | |
TO_DATE('19910430', 'YYYY-MM-DD') | |
); | |
INSERT INTO ACTEUR(NOM, PRENOM, DATE_NAISSANCE) | |
VALUES | |
( | |
'Hedlund', | |
'Garrett', | |
TO_DATE('19880114', 'YYYY-MM-DD') | |
); | |
INSERT INTO ACTEUR(NOM, PRENOM, DATE_NAISSANCE) | |
VALUES | |
( | |
'Sheen', | |
'Michael', | |
TO_DATE('19730926', 'YYYY-MM-DD') | |
); | |
-- Film | |
INSERT INTO FILM(NOM, DUREE) | |
VALUES | |
('dortoir de midi', 110); | |
INSERT INTO FILM(NOM, DUREE) | |
VALUES | |
('La patience de la peur', 123); | |
INSERT INTO FILM(NOM, DUREE) | |
VALUES | |
('Protocole des magiciens', 94); | |
INSERT INTO FILM(NOM, DUREE) | |
VALUES | |
('La charite des multiples', 115); | |
INSERT INTO FILM(NOM, DUREE) | |
VALUES | |
('Virus de la revolution', 107); | |
INSERT INTO FILM(NOM, DUREE) | |
VALUES | |
('La science des infideles', 75); | |
-- Acteur_Film | |
INSERT INTO ACTEUR_FILM(ID_FILM, ID_ACTEUR) | |
VALUES | |
(1, 4); | |
INSERT INTO ACTEUR_FILM(ID_FILM, ID_ACTEUR) | |
VALUES | |
(2, 6); | |
INSERT INTO ACTEUR_FILM(ID_FILM, ID_ACTEUR) | |
VALUES | |
(3, 5); | |
INSERT INTO ACTEUR_FILM(ID_FILM, ID_ACTEUR) | |
VALUES | |
(4, 2); | |
INSERT INTO ACTEUR_FILM(ID_FILM, ID_ACTEUR) | |
VALUES | |
(5, 3); | |
INSERT INTO ACTEUR_FILM(ID_FILM, ID_ACTEUR) | |
VALUES | |
(6, 1); | |
INSERT INTO ACTEUR_FILM(ID_FILM, ID_ACTEUR) | |
VALUES | |
(3, 9); | |
INSERT INTO ACTEUR_FILM(ID_FILM, ID_ACTEUR) | |
VALUES | |
(2, 8); | |
INSERT INTO ACTEUR_FILM(ID_FILM, ID_ACTEUR) | |
VALUES | |
(4, 7); | |
INSERT INTO ACTEUR_FILM(ID_FILM, ID_ACTEUR) | |
VALUES | |
(1, 6); | |
INSERT INTO ACTEUR_FILM(ID_FILM, ID_ACTEUR) | |
VALUES | |
(5, 2); | |
INSERT INTO ACTEUR_FILM(ID_FILM, ID_ACTEUR) | |
VALUES | |
(6, 10); | |
INSERT INTO ACTEUR_FILM(ID_FILM, ID_ACTEUR) | |
VALUES | |
(3, 10); | |
-- Cinema | |
INSERT INTO CINEMA(NOM, ADRESSE, CP, VILLE, NB_SALLES) | |
VALUES | |
( | |
'Cine Planete', | |
'14 place Jean Jaures', | |
'26100', | |
'Romans-Sur-Isere', | |
8 | |
); | |
INSERT INTO CINEMA(NOM, ADRESSE, CP, VILLE, NB_SALLES) | |
VALUES | |
( | |
'Cine Lumiere', | |
'5 rue du President Felix Faure', | |
'26100', | |
'Romans-Sur-Isere', | |
3 | |
); | |
INSERT INTO CINEMA(NOM, ADRESSE, CP, VILLE, NB_SALLES) | |
VALUES | |
( | |
'La Nef', | |
'18 bd Edouard Rey', | |
'38000', | |
'Grenoble', | |
5 | |
); | |
INSERT INTO CINEMA(NOM, ADRESSE, CP, VILLE, NB_SALLES) | |
VALUES | |
( | |
'Cinema Juliet Berto', | |
'Passage du Palais de Justice', | |
'38000', | |
'Grenoble', | |
4 | |
); | |
INSERT INTO CINEMA(NOM, ADRESSE, CP, VILLE, NB_SALLES) | |
VALUES | |
( | |
'Gaumont Alesiao', | |
'73 av. du Gal-Leclerc', | |
'75014', | |
'Paris', | |
8 | |
); | |
INSERT INTO CINEMA(NOM, ADRESSE, CP, VILLE, NB_SALLES) | |
VALUES | |
( | |
'Pathe La Villette', | |
'30 avenue Corentin Cariou', | |
'75019', | |
'Paris', | |
7 | |
); | |
-- Seance | |
INSERT INTO SEANCE(DATE_SEANCE, ID_CINE, ID_FILM) | |
VALUES | |
(TO_DATE('20191124', 'YYYY-MM-DD'), 1, 5); | |
INSERT INTO SEANCE(DATE_SEANCE, ID_CINE, ID_FILM) | |
VALUES | |
(TO_DATE('20191004', 'YYYY-MM-DD'), 2, 1); | |
INSERT INTO SEANCE(DATE_SEANCE, ID_CINE, ID_FILM) | |
VALUES | |
(TO_DATE('20190912', 'YYYY-MM-DD'), 3, 6); | |
INSERT INTO SEANCE(DATE_SEANCE, ID_CINE, ID_FILM) | |
VALUES | |
(TO_DATE('20190821', 'YYYY-MM-DD'), 4, 4); | |
INSERT INTO SEANCE(DATE_SEANCE, ID_CINE, ID_FILM) | |
VALUES | |
(TO_DATE('20191108', 'YYYY-MM-DD'), 5, 2); | |
INSERT INTO SEANCE(DATE_SEANCE, ID_CINE, ID_FILM) | |
VALUES | |
(TO_DATE('20191117', 'YYYY-MM-DD'), 6, 3); | |
INSERT INTO SEANCE(DATE_SEANCE, ID_CINE, ID_FILM) | |
VALUES | |
(TO_DATE('20191224', 'YYYY-MM-DD'), 5, 4); | |
INSERT INTO SEANCE(DATE_SEANCE, ID_CINE, ID_FILM) | |
VALUES | |
(TO_DATE('20190813', 'YYYY-MM-DD'), 1, 6); | |
INSERT INTO SEANCE(DATE_SEANCE, ID_CINE, ID_FILM) | |
VALUES | |
(TO_DATE('20191115', 'YYYY-MM-DD'), 2, 2); | |
INSERT INTO SEANCE(DATE_SEANCE, ID_CINE, ID_FILM) | |
VALUES | |
(TO_DATE('20191007', 'YYYY-MM-DD'), 6, 2); | |
INSERT INTO SEANCE(DATE_SEANCE, ID_CINE, ID_FILM) | |
VALUES | |
(TO_DATE('20191117', 'YYYY-MM-DD'), 4, 3); | |
INSERT INTO SEANCE(DATE_SEANCE, ID_CINE, ID_FILM) | |
VALUES | |
(TO_DATE('20191022', 'YYYY-MM-DD'), 5, 1); | |
INSERT INTO SEANCE(DATE_SEANCE, ID_CINE, ID_FILM) | |
VALUES | |
(TO_DATE('20191101', 'YYYY-MM-DD'), 6, 5); | |
INSERT INTO SEANCE(DATE_SEANCE, ID_CINE, ID_FILM) | |
VALUES | |
(TO_DATE('20191117', 'YYYY-MM-DD'), 2, 1); | |
INSERT INTO SEANCE(DATE_SEANCE, ID_CINE, ID_FILM) | |
VALUES | |
(TO_DATE('20190909', 'YYYY-MM-DD'), 1, 1); | |
INSERT INTO SEANCE(DATE_SEANCE, ID_CINE, ID_FILM) | |
VALUES | |
(TO_DATE('20191130', 'YYYY-MM-DD'), 5, 3); | |
INSERT INTO SEANCE(DATE_SEANCE, ID_CINE, ID_FILM) | |
VALUES | |
(TO_DATE('20190824', 'YYYY-MM-DD'), 1, 4); | |
INSERT INTO SEANCE(DATE_SEANCE, ID_CINE, ID_FILM) | |
VALUES | |
(TO_DATE('20191115', 'YYYY-MM-DD'), 3, 3); | |
-- Achat_Billets | |
INSERT INTO ACHAT_BILLET(DATE_ACHAT, TARIF, QUANTITE, REDUIT, ID_SEANCE) | |
VALUES | |
(TO_DATE('20191122', 'YYYY-MM-DD'), 9, 1, 0, 1); | |
INSERT INTO ACHAT_BILLET(DATE_ACHAT, TARIF, QUANTITE, REDUIT, ID_SEANCE) | |
VALUES | |
(TO_DATE('20191120', 'YYYY-MM-DD'), 7, 1, 1, 5); | |
INSERT INTO ACHAT_BILLET(DATE_ACHAT, TARIF, QUANTITE, REDUIT, ID_SEANCE) | |
VALUES | |
(TO_DATE('20191215', 'YYYY-MM-DD'), 9, 2, 0, 4); | |
INSERT INTO ACHAT_BILLET(DATE_ACHAT, TARIF, QUANTITE, REDUIT, ID_SEANCE) | |
VALUES | |
(TO_DATE('20191126', 'YYYY-MM-DD'), 9, 1, 0, 2); | |
INSERT INTO ACHAT_BILLET(DATE_ACHAT, TARIF, QUANTITE, REDUIT, ID_SEANCE) | |
VALUES | |
(TO_DATE('20191116', 'YYYY-MM-DD'), 7, 4, 1, 6); | |
INSERT INTO ACHAT_BILLET(DATE_ACHAT, TARIF, QUANTITE, REDUIT, ID_SEANCE) | |
VALUES | |
(TO_DATE('20191005', 'YYYY-MM-DD'), 7, 4, 1, 6); | |
INSERT INTO ACHAT_BILLET(DATE_ACHAT, TARIF, QUANTITE, REDUIT, ID_SEANCE) | |
VALUES | |
(TO_DATE('20191107', 'YYYY-MM-DD'), 9, 1, 0, 9); | |
INSERT INTO ACHAT_BILLET(DATE_ACHAT, TARIF, QUANTITE, REDUIT, ID_SEANCE) | |
VALUES | |
(TO_DATE('20191021', 'YYYY-MM-DD'), 9, 3, 0, 18); | |
INSERT INTO ACHAT_BILLET(DATE_ACHAT, TARIF, QUANTITE, REDUIT, ID_SEANCE) | |
VALUES | |
(TO_DATE('20191012', 'YYYY-MM-DD'), 7, 1, 0, 15); | |
INSERT INTO ACHAT_BILLET(DATE_ACHAT, TARIF, QUANTITE, REDUIT, ID_SEANCE) | |
VALUES | |
(TO_DATE('20191201', 'YYYY-MM-DD'), 9, 2, 0, 7); | |
INSERT INTO ACHAT_BILLET(DATE_ACHAT, TARIF, QUANTITE, REDUIT, ID_SEANCE) | |
VALUES | |
(TO_DATE('20191006', 'YYYY-MM-DD'), 7, 2, 0, 8); | |
INSERT INTO ACHAT_BILLET(DATE_ACHAT, TARIF, QUANTITE, REDUIT, ID_SEANCE) | |
VALUES | |
(TO_DATE('20191022', 'YYYY-MM-DD'), 9, 1, 1, 16); | |
INSERT INTO ACHAT_BILLET(DATE_ACHAT, TARIF, QUANTITE, REDUIT, ID_SEANCE) | |
VALUES | |
(TO_DATE('20191009', 'YYYY-MM-DD'), 9, 2, 0, 3); | |
INSERT INTO ACHAT_BILLET(DATE_ACHAT, TARIF, QUANTITE, REDUIT, ID_SEANCE) | |
VALUES | |
(TO_DATE('20190907', 'YYYY-MM-DD'), 9, 4, 0, 8); | |
INSERT INTO ACHAT_BILLET(DATE_ACHAT, TARIF, QUANTITE, REDUIT, ID_SEANCE) | |
VALUES | |
(TO_DATE('20190913', 'YYYY-MM-DD'), 9, 1, 1, 4); | |
INSERT INTO ACHAT_BILLET(DATE_ACHAT, TARIF, QUANTITE, REDUIT, ID_SEANCE) | |
VALUES | |
(TO_DATE('20191211', 'YYYY-MM-DD'), 7, 3, 0, 17); | |
INSERT INTO ACHAT_BILLET(DATE_ACHAT, TARIF, QUANTITE, REDUIT, ID_SEANCE) | |
VALUES | |
(TO_DATE('20190909', 'YYYY-MM-DD'), 7, 3, 0, 17); | |
INSERT INTO ACHAT_BILLET(DATE_ACHAT, TARIF, QUANTITE, REDUIT, ID_SEANCE) | |
VALUES | |
(TO_DATE('20190928', 'YYYY-MM-DD'), 7, 1, 0, 4); | |
INSERT INTO ACHAT_BILLET(DATE_ACHAT, TARIF, QUANTITE, REDUIT, ID_SEANCE) | |
VALUES | |
(TO_DATE('20190914', 'YYYY-MM-DD'), 9, 1, 0, 11); | |
INSERT INTO ACHAT_BILLET(DATE_ACHAT, TARIF, QUANTITE, REDUIT, ID_SEANCE) | |
VALUES | |
(TO_DATE('20190817', 'YYYY-MM-DD'), 7, 2, 1, 14); | |
INSERT INTO ACHAT_BILLET(DATE_ACHAT, TARIF, QUANTITE, REDUIT, ID_SEANCE) | |
VALUES | |
(TO_DATE('20191227', 'YYYY-MM-DD'), 9, 1, 0, 13); | |
INSERT INTO ACHAT_BILLET(DATE_ACHAT, TARIF, QUANTITE, REDUIT, ID_SEANCE) | |
VALUES | |
(TO_DATE('20191014', 'YYYY-MM-DD'), 7, 4, 0, 10); | |
INSERT INTO ACHAT_BILLET(DATE_ACHAT, TARIF, QUANTITE, REDUIT, ID_SEANCE) | |
VALUES | |
(TO_DATE('20191024', 'YYYY-MM-DD'), 7, 4, 0, 3); | |
INSERT INTO ACHAT_BILLET(DATE_ACHAT, TARIF, QUANTITE, REDUIT, ID_SEANCE) | |
VALUES | |
(TO_DATE('20190921', 'YYYY-MM-DD'), 9, 1, 0, 6); | |
INSERT INTO ACHAT_BILLET(DATE_ACHAT, TARIF, QUANTITE, REDUIT, ID_SEANCE) | |
VALUES | |
(TO_DATE('20191113', 'YYYY-MM-DD'), 9, 1, 1, 10); | |
INSERT INTO ACHAT_BILLET(DATE_ACHAT, TARIF, QUANTITE, REDUIT, ID_SEANCE) | |
VALUES | |
(TO_DATE('20191116', 'YYYY-MM-DD'), 9, 2, 1, 12); | |
INSERT INTO ACHAT_BILLET(DATE_ACHAT, TARIF, QUANTITE, REDUIT, ID_SEANCE) | |
VALUES | |
(TO_DATE('20191006', 'YYYY-MM-DD'), 9, 2, 1, 12); | |
----------VUES---------- | |
-- Films et Acteurs | |
CREATE VIEW FILMS_ACTEURS AS | |
SELECT | |
FILM.ID_FILM AS ID_Film, | |
FILM.NOM AS Titre, | |
FILM.DUREE AS Duree, | |
ACTEUR.NOM AS Nom_Acteur, | |
ACTEUR.PRENOM AS Prenom_Acteur, | |
ACTEUR.DATE_NAISSANCE AS DateNaissance_Acteur | |
FROM FILM, | |
ACTEUR, | |
ACTEUR_FILM | |
WHERE | |
FILM.ID_FILM = ACTEUR_FILM.ID_FILM | |
AND ACTEUR.ID_ACTEUR = ACTEUR_FILM.ID_ACTEUR; | |
-- Cinemas, seances et films | |
CREATE VIEW CINEMAS_SEANCES_FILMS AS | |
SELECT | |
CINEMA.NOM AS Cinema_Nom, | |
CINEMA.ADRESSE AS Cinema_Adresse, | |
CINEMA.CP AS Cinema_CP, | |
CINEMA.VILLE AS Cinema_Ville, | |
CINEMA.NB_SALLES AS Cinema_NbSalles, | |
SEANCE.DATE_SEANCE AS Seance_Date, | |
FILM.NOM AS Film_Nom, | |
FILM.DUREE AS Film_Duree | |
FROM CINEMA, | |
SEANCE, | |
FILM | |
WHERE | |
CINEMA.ID_CINE = SEANCE.ID_CINE | |
AND FILM.ID_FILM = SEANCE.ID_FILM; | |
----------FONCTION---------- | |
CREATE FUNCTION GET_CHIFFRE_AFFAIRE(id_cinema NUMBER, annee NUMBER, mois NUMBER) RETURN FLOAT IS chiffre_affaire FLOAT; | |
BEGIN | |
SELECT | |
SUM(ACHAT_BILLET.TARIF * ACHAT_BILLET.QUANTITE) INTO chiffre_affaire | |
FROM ACHAT_BILLET, | |
SEANCE | |
WHERE | |
SEANCE.ID_CINE = id_cinema | |
AND EXTRACT(month | |
FROM ACHAT_BILLET.DATE_ACHAT) = mois | |
AND EXTRACT(year | |
FROM ACHAT_BILLET.DATE_ACHAT) = annee; | |
RETURN (chiffre_affaire); | |
END; | |
/ | |
----------PROCEDURE---------- | |
CREATE PROCEDURE DELETE_ACHATS(date_last_achat DATE) IS BEGIN | |
DELETE FROM ACHAT_BILLET | |
WHERE | |
ACHAT_BILLET.DATE_ACHAT <= CAST (date_last_achat AS TIMESTAMP); | |
END; | |
/ | |
-- Exemple utilisation FONCTION | |
SELECT | |
cinema.nom, | |
GET_CHIFFRE_AFFAIRE(CINEMA.ID_CINE, 2019, 11) AS Chiffre_Affaire | |
FROM CINEMA; | |
-- Exemple utilisation PROCEDURE | |
EXEC delete_achats(TO_DATE('20191122', 'YYYY-MM-DD')); | |
SELECT | |
* | |
FROM ACHAT_BILLET; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment