Advertisement
Guest User

OUOUUOUOUIUIOUIYIDQUFDQUK

a guest
Dec 12th, 2019
242
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.91 KB | None | 0 0
  1. 2.2---------------------------
  2.  
  3. drop table CRA_CONTRAT cascade constraints;
  4. create table CRA_CONTRAT
  5. (
  6. CON_NUM NUMBER(4) NOT NULL,
  7. MOD_REF VARCHAR(32) NOT NULL,
  8. PER_ID NUMBER(3) NOT NULL,
  9. CON_DATE_DEBUT DATE NOT NULL,
  10. CON_IMMATRICULATION VARCHAR2(12) NULL,
  11. CONSTRAINT PK_CRA_CONTRAT PRIMARY KEY (CON_NUM)
  12. );
  13. commit;
  14.  
  15. 2.3---
  16.  
  17. insert into CRA_CONTRAT values (1,'FB740',25,to_date('02/06/2015 10:30','dd/mm/yyyy hh24:mi'),'BB-123-BB');
  18.  
  19. 2.4--
  20.  
  21. update CRA_CONTRAT
  22. set con_date_debut = add_months(to_date(con_date_debut,'dd/mm/yyyy'),12)
  23. where per_id=39;
  24.  
  25. commit;
  26.  
  27. delete from CRA_MODELE_BATTERIE where upper(MOD_FABRICANT) = 'ALPHALINE';
  28.  
  29. 2.5--
  30.  
  31. create or replace view CRA_ABONNEMENT_CONTRAT as
  32. select * from cra_abonnement
  33. join cra_contrat using(con_num);
  34.  
  35. create or replace synonym BORNE for CRA_BORNE_RECHARGE;
  36.  
  37. --2.6 1
  38. select per_nom from cra_personne where upper(per_nom) like '%E%';
  39.  
  40. --2.6 2
  41. select * from cra_contrat where to_char(con_date_debut,'mm')=4;
  42.  
  43. --2.6 3 Donner les numéros de contrat avec les prénom et nom des personnes pour les abonnements dépassés
  44. select con_num from cra_abonnement where to_date(abo_date_fin,'dd/mm/yyyy') < sysdate;
  45.  
  46. --2.6 4 Donner le(s) numéro(s) de contrat(s) prépayé(s) dont le solde en KWh est le plus élevé
  47. select con_num from cra_prepaye where for_solde_kwh >=all
  48. (
  49. select for_solde_kwh from cra_prepaye
  50. );
  51.  
  52. --2.6 5 Afficher les prénom et nom des 3 premières personnes par ordre alphabétique des noms.
  53. select * from
  54. (
  55. select per_prenom,per_nom from cra_personne order by per_nom
  56. )
  57. where rownum <4;
  58.  
  59.  
  60. --2.6 6 Afficher les nom et prénom des personnes, leur numéro de contrat et en quatrième
  61. --colonne le mot " abonnement " ou " prépayé " puis soit la date de début pour les
  62. --abonnements, soit le solde pour les contrats prépayés. Bien respecter le format de
  63. --l'extrait de capture ci-dessous
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. --2.6 7 Afficher les noms de toutes les stations avec le code des bornes quand ils en disposent.
  71. select sta_nom from cra_station where sta_id in
  72. (
  73. select sta_id from cra_borne_recharge
  74. );
  75.  
  76. select distinct sta_nom from cra_station
  77. join cra_borne_recharge using(sta_id);
  78.  
  79. --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
  80. -- que des jointures et une autre avec que des sous-requêtes.
  81.  
  82. select sta_nom as nom_station from cra_station where sta_id in
  83. (
  84. select sta_id from cra_chargement where con_id in
  85. (
  86. select con_id from cra_controle where lower(con_libelle) <> 'aucun problème'
  87. )
  88. );
  89.  
  90. select distinct sta_nom from cra_station
  91. join cra_chargement using (sta_id)
  92. join cra_controle using(con_id)
  93. where lower(con_libelle) <> 'aucun problème';
  94.  
  95. --2.6 9 Afficher le nom et prénom des personnes qui ont effectué des chargements dans une station de leur commune.
  96. select per_nom,per_prenom, per_ville from cra_personne where per_id in
  97. (
  98. select per_id from cra_contrat where con_num in
  99. (
  100. select con_num from cra_chargement where sta_id in
  101. (
  102. select sta_id from cra_station
  103. )
  104. )
  105. );
  106.  
  107.  
  108. select distinct per_nom, per_prenom, per_ville from cra_personne
  109. join cra_contrat using(per_id)
  110. join cra_chargement using(con_num)
  111. join cra_station using(sta_id)
  112. where sta_ville = per_ville;
  113.  
  114. --2.6 10 Afficher les contrats dont les batteries ne supportent pas le type de charge rapide. N’utiliser que des sous-requêtes
  115.  
  116. select con_num from cra_contrat where mod_ref not in
  117. (
  118. select mod_ref from cra_supporter where tyc_id = 3 or tyc_id = 4
  119. );
  120.  
  121. --2.6 11 Afficher la clé primaire des bornes qui ne supportent pas le type de charge rapide. Utiliser une requête ensembliste
  122.  
  123. select bor_code from cra_borne_recharge where tyc_id not in
  124. (
  125. select tyc_id from cra_type_charge where tyc_id = 3 or tyc_id = 4
  126. );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement