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 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
| INSERT INTO CLIENT (ClientId, ClientNom) VALUES (1, 'Fernand') ;
INSERT INTO CLIENT (ClientId, ClientNom) VALUES (2, 'Raoul') ;
INSERT INTO CLIENT (ClientId, ClientNom) VALUES (3, 'Paul') ;
INSERT INTO MAISON (MaisonId, MaisonNom) VALUES (1, 'Vert Cottage') ;
INSERT INTO MAISON (MaisonId, MaisonNom) VALUES (2, 'El Pilariguet') ;
INSERT INTO MAISON (MaisonId, MaisonNom) VALUES (3, 'Mon repos') ;
INSERT INTO MAISON (MaisonId, MaisonNom) VALUES (91, 'Les volets rouges') ;
INSERT INTO CHAMBRE (MaisonId, ChambreId, ChambreNom) VALUES (1, 1, 'cuisine') ;
INSERT INTO CHAMBRE (MaisonId, ChambreId, ChambreNom) VALUES (1, 2, 'chambre 1') ;
INSERT INTO CHAMBRE (MaisonId, ChambreId, ChambreNom) VALUES (1, 3, 'chambre 2') ;
INSERT INTO CHAMBRE (MaisonId, ChambreId, ChambreNom) VALUES (1, 4, 'salon') ;
INSERT INTO CHAMBRE (MaisonId, ChambreId, ChambreNom) VALUES (2, 1, 'salon') ;
INSERT INTO CHAMBRE (MaisonId, ChambreId, ChambreNom) VALUES (2, 2, 'chambre 1') ;
INSERT INTO CHAMBRE (MaisonId, ChambreId, ChambreNom) VALUES (2, 3, 'chambre 2') ;
INSERT INTO CHAMBRE (MaisonId, ChambreId, ChambreNom) VALUES (2, 4, 'chambre 3') ;
INSERT INTO CHAMBRE (MaisonId, ChambreId, ChambreNom) VALUES (2, 5, 'cuisine') ;
INSERT INTO CHAMBRE (MaisonId, ChambreId, ChambreNom) VALUES (3, 1, 'bureau') ;
INSERT INTO CHAMBRE (MaisonId, ChambreId, ChambreNom) VALUES (3, 2, 'chambre 1') ;
INSERT INTO CHAMBRE (MaisonId, ChambreId, ChambreNom) VALUES (3, 3, 'chambre 2') ;
INSERT INTO CHAMBRE (MaisonId, ChambreId, ChambreNom) VALUES (3, 4, 'buanderie') ;
INSERT INTO CHAMBRE (MaisonId, ChambreId, ChambreNom) VALUES (91, 1, 'cuisine') ;
INSERT INTO CHAMBRE (MaisonId, ChambreId, ChambreNom) VALUES (91, 2, 'chambre 1') ;
INSERT INTO CHAMBRE (MaisonId, ChambreId, ChambreNom) VALUES (91, 3, 'chambre 2') ;
INSERT INTO CHAMBRE (MaisonId, ChambreId, ChambreNom) VALUES (91, 4, 'salon') ;
INSERT INTO MAISON_ACHETÉE (MaisonId, ClientId) VALUES (1, 1) ; -- Vert Cottage, Fernand
INSERT INTO MAISON_ACHETÉE (MaisonId, ClientId) VALUES (3, 1) ; -- Mon repos, Fernand
INSERT INTO MAISON_ACHETÉE (MaisonId, ClientId) VALUES (2, 2) ; --Pilariguet Raoul
INSERT INTO TYPE_OBJET (TypeObjetId, ObjetNom) VALUES (1, 'bar') ;
INSERT INTO TYPE_OBJET (TypeObjetId, ObjetNom) VALUES (2, 'fauteuil') ;
INSERT INTO TYPE_OBJET (TypeObjetId, ObjetNom) VALUES (3, 'lit') ;
INSERT INTO TYPE_OBJET (TypeObjetId, ObjetNom) VALUES (4, 'table') ;
INSERT INTO TYPE_OBJET (TypeObjetId, ObjetNom) VALUES (5, 'frigo') ;
INSERT INTO TYPE_OBJET (TypeObjetId, ObjetNom) VALUES (6, 'placard') ;
INSERT INTO TYPE_OBJET (TypeObjetId, ObjetNom) VALUES (7, 'tapis') ;
INSERT INTO TYPE_OBJET (TypeObjetId, ObjetNom) VALUES (8, 'chaise') ;
INSERT INTO OBJET (ObjetId, TypeObjetId) VALUES (1, 1) ; -- bar
INSERT INTO OBJET (ObjetId, TypeObjetId) VALUES (2, 1) ; -- bar
INSERT INTO OBJET (ObjetId, TypeObjetId) VALUES (3, 1) ; -- bar
INSERT INTO OBJET (ObjetId, TypeObjetId) VALUES (45, 1) ; -- bar
INSERT INTO OBJET (ObjetId, TypeObjetId) VALUES (4, 2) ; -- fauteuil
INSERT INTO OBJET (ObjetId, TypeObjetId) VALUES (5, 2) ; -- fauteuil
INSERT INTO OBJET (ObjetId, TypeObjetId) VALUES (6, 2) ; -- fauteuil
INSERT INTO OBJET (ObjetId, TypeObjetId) VALUES (7, 2) ; -- fauteuil
INSERT INTO OBJET (ObjetId, TypeObjetId) VALUES (8, 3) ; -- lit
INSERT INTO OBJET (ObjetId, TypeObjetId) VALUES (9, 3) ; -- lit
INSERT INTO OBJET (ObjetId, TypeObjetId) VALUES (10, 3) ; -- lit
INSERT INTO OBJET (ObjetId, TypeObjetId) VALUES (11, 3) ; -- lit
INSERT INTO OBJET (ObjetId, TypeObjetId) VALUES (15, 4) ; -- table
INSERT INTO OBJET (ObjetId, TypeObjetId) VALUES (16, 4) ; -- table
INSERT INTO OBJET (ObjetId, TypeObjetId) VALUES (17, 4) ; -- table
INSERT INTO OBJET (ObjetId, TypeObjetId) VALUES (18, 4) ; -- table
INSERT INTO OBJET (ObjetId, TypeObjetId) VALUES (20, 5) ; -- frigo
INSERT INTO OBJET (ObjetId, TypeObjetId) VALUES (21, 5) ; -- frigo
INSERT INTO OBJET (ObjetId, TypeObjetId) VALUES (25, 6) ; -- placard
INSERT INTO OBJET (ObjetId, TypeObjetId) VALUES (26, 6) ; -- placard
INSERT INTO OBJET (ObjetId, TypeObjetId) VALUES (30, 7) ; -- tapis
INSERT INTO OBJET (ObjetId, TypeObjetId) VALUES (40, 8) ; -- chaise
INSERT INTO OBJET (ObjetId, TypeObjetId) VALUES (41, 8) ; -- chaise
INSERT INTO OBJET (ObjetId, TypeObjetId) VALUES (42, 8) ; -- chaise
INSERT INTO OBJET (ObjetId, TypeObjetId) VALUES (43, 8) ; -- chaise
INSERT INTO OBJET_ACHETÉ (ObjetId, ClientId) VALUES (1, 1) ; -- bar, Fernand
INSERT INTO OBJET_ACHETÉ (ObjetId, ClientId) VALUES (2, 2) ; -- bar, Raoul
INSERT INTO OBJET_ACHETÉ (ObjetId, ClientId) VALUES (3, 1) ; -- bar, Fernand
INSERT INTO OBJET_ACHETÉ (ObjetId, ClientId) VALUES (4, 1) ; -- bar, Fernand
INSERT INTO OBJET_ACHETÉ (ObjetId, ClientId) VALUES (40, 1) ; -- chaise, Fernand
INSERT INTO OBJET_ACHETÉ (ObjetId, ClientId) VALUES (41, 1) ; -- chaise, Fernand
INSERT INTO OBJET_ACHETÉ (ObjetId, ClientId) VALUES (42, 1) ; -- chaise, Fernand
INSERT INTO OBJET_ACHETÉ (ObjetId, ClientId) VALUES (43, 2) ; -- chaise, Raoul
INSERT INTO OBJET_ACHETÉ (ObjetId, ClientId) VALUES (20, 2) ; -- frigo, Raoul
INSERT INTO OBJET_ACHETÉ (ObjetId, ClientId) VALUES (30, 2) ; -- tapis, Raoul
INSERT INTO OBJET_ACHETÉ (ObjetId, ClientId) VALUES (25, 3) ; -- placard, Paul
INSERT INTO OBJET_PLACÉ (ObjetId, MaisonId, ChambreId) VALUES (3, 1, 1) ; -- bar, Vert Cottage, salon (Fernand)
-- L'insert suivant est refusé, car la maison "Les volets rouges" n'a pas éré achetée.
INSERT INTO OBJET_PLACÉ (ObjetId, MaisonId, ChambreId) VALUES (45, 91, 1) ; -- bar, volets rouges
-- L'insert suivant est refusé, car on veut placer un objet acheté par Fernand dans une chambre
-- de la maison "El Pilariguet" qui n'a pas été achetée par Fernand, mais par Raoul.
INSERT INTO OBJET_PLACÉ (ObjetId, MaisonId, ChambreId) VALUES (1, 2, 1) ; -- bar, Pilariguet, salon (Fernand vs Raoul)
SELECT '' AS 'OK', x.ObjetId, ClientNom, MaisonNom, ChambreNom, ObjetNom
FROM OBJET_ACHETÉ AS x
JOIN OBJET AS y ON x.ObjetId = y.ObjetId
JOIN TYPE_OBJET AS z ON y.TypeObjetId = z.TypeObjetId
JOIN CLIENT AS t ON x.ClientId = t.ClientId
JOIN OBJET_PLACÉ AS u ON x.ObjetId = u.ObjetId
JOIN CHAMBRE AS v ON u.MaisonId = v.MaisonId AND u.ChambreId = v.ChambreId
JOIN MAISON AS w ON v.MaisonId = w.MaisonId
delete from OBJET_PLACÉ where ObjetId = 1 ;
-- Fernand vs Raoul, l'update doit être rejeté :
UPDATE OBJET_PLACÉ
SET ObjetId = 1, MaisonId = 2 where ObjetId = 3
SELECT '' AS 'OK', x.ObjetId, ClientNom, MaisonNom, ChambreNom, ObjetNom
FROM OBJET_ACHETÉ AS x
JOIN OBJET AS y ON x.ObjetId = y.ObjetId
JOIN TYPE_OBJET AS z ON y.TypeObjetId = z.TypeObjetId
JOIN CLIENT AS t ON x.ClientId = t.ClientId
JOIN OBJET_PLACÉ AS u ON x.ObjetId = u.ObjetId
JOIN CHAMBRE AS v ON u.MaisonId = v.MaisonId AND u.ChambreId = v.ChambreId
JOIN MAISON AS w ON v.MaisonId = w.MaisonId ; |
Partager