Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 2.2---------------------------
- drop table CRA_CONTRAT cascade constraints;
- create table CRA_CONTRAT
- (
- CON_NUM NUMBER(4) NOT NULL,
- MOD_REF VARCHAR(32) NOT NULL,
- PER_ID NUMBER(3) NOT NULL,
- CON_DATE_DEBUT DATE NOT NULL,
- CON_IMMATRICULATION VARCHAR2(12) NULL,
- CONSTRAINT PK_CRA_CONTRAT PRIMARY KEY (CON_NUM)
- );
- commit;
- 2.3---
- insert into CRA_CONTRAT values (1,'FB740',25,to_date('02/06/2015 10:30','dd/mm/yyyy hh24:mi'),'BB-123-BB');
- 2.4--
- update CRA_CONTRAT
- set con_date_debut = add_months(to_date(con_date_debut,'dd/mm/yyyy'),12)
- where per_id=39;
- commit;
- delete from CRA_MODELE_BATTERIE where upper(MOD_FABRICANT) = 'ALPHALINE';
- 2.5--
- create or replace view CRA_ABONNEMENT_CONTRAT as
- select * from cra_abonnement
- join cra_contrat using(con_num);
- create or replace synonym BORNE for CRA_BORNE_RECHARGE;
- --2.6 1
- select per_nom from cra_personne where upper(per_nom) like '%E%';
- --2.6 2
- select * from cra_contrat where to_char(con_date_debut,'mm')=4;
- --2.6 3 Donner les numéros de contrat avec les prénom et nom des personnes pour les abonnements dépassés
- select con_num from cra_abonnement where to_date(abo_date_fin,'dd/mm/yyyy') < sysdate;
- --2.6 4 Donner le(s) numéro(s) de contrat(s) prépayé(s) dont le solde en KWh est le plus élevé
- select con_num from cra_prepaye where for_solde_kwh >=all
- (
- select for_solde_kwh from cra_prepaye
- );
- --2.6 5 Afficher les prénom et nom des 3 premières personnes par ordre alphabétique des noms.
- select * from
- (
- select per_prenom,per_nom from cra_personne order by per_nom
- )
- where rownum <4;
- --2.6 6 Afficher les nom et prénom des personnes, leur numéro de contrat et en quatrième
- --colonne le mot " abonnement " ou " prépayé " puis soit la date de début pour les
- --abonnements, soit le solde pour les contrats prépayés. Bien respecter le format de
- --l'extrait de capture ci-dessous
- --2.6 7 Afficher les noms de toutes les stations avec le code des bornes quand ils en disposent.
- select sta_nom from cra_station where sta_id in
- (
- select sta_id from cra_borne_recharge
- );
- select distinct sta_nom from cra_station
- join cra_borne_recharge using(sta_id);
- --2.6 8 Afficher le nom des stations qui ont eu des chargements contrôlés autrement que " aucun problème ". Proposer une solution avec
- -- que des jointures et une autre avec que des sous-requêtes.
- select sta_nom as nom_station from cra_station where sta_id in
- (
- select sta_id from cra_chargement where con_id in
- (
- select con_id from cra_controle where lower(con_libelle) <> 'aucun problème'
- )
- );
- select distinct sta_nom from cra_station
- join cra_chargement using (sta_id)
- join cra_controle using(con_id)
- where lower(con_libelle) <> 'aucun problème';
- --2.6 9 Afficher le nom et prénom des personnes qui ont effectué des chargements dans une station de leur commune.
- select per_nom,per_prenom, per_ville from cra_personne where per_id in
- (
- select per_id from cra_contrat where con_num in
- (
- select con_num from cra_chargement where sta_id in
- (
- select sta_id from cra_station
- )
- )
- );
- select distinct per_nom, per_prenom, per_ville from cra_personne
- join cra_contrat using(per_id)
- join cra_chargement using(con_num)
- join cra_station using(sta_id)
- where sta_ville = per_ville;
- --2.6 10 Afficher les contrats dont les batteries ne supportent pas le type de charge rapide. N’utiliser que des sous-requêtes
- select con_num from cra_contrat where mod_ref not in
- (
- select mod_ref from cra_supporter where tyc_id = 3 or tyc_id = 4
- );
- --2.6 11 Afficher la clé primaire des bornes qui ne supportent pas le type de charge rapide. Utiliser une requête ensembliste
- select bor_code from cra_borne_recharge where tyc_id not in
- (
- select tyc_id from cra_type_charge where tyc_id = 3 or tyc_id = 4
- );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement