Advertisement
Guest User

Untitled

a guest
Oct 25th, 2016
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.03 KB | None | 0 0
  1. -- ~ EX2
  2. drop function if exists ex2(int);
  3. create function ex2(id int)
  4. returns int
  5. as $$
  6. begin
  7. return sum(contrat.date_fin-contrat.date_debut)*categorie.prix_par_jour from contrat join voiture on contrat.id_voiture=voiture.id_voiture join categorie on voiture.id_categorie=categorie.id_categorie where categorie.id_categorie=id and id_etat=3 group by categorie.prix_par_jour;
  8. end;
  9. $$ language plpgsql;
  10.  
  11.  
  12. -- ~ EX3
  13. drop function if exists ex3(int);
  14. create function ex3(id int)
  15. returns text
  16. as $$
  17. declare
  18. tmp int;
  19. begin
  20. select ex2(id) into tmp;
  21. if tmp=0 then
  22. return 'inexistant';
  23. end if;
  24. if tmp<500 then
  25. return 'faible';
  26. end if;
  27. if tmp<1000 then
  28. return 'moyen';
  29. end if;
  30. if tmp>=1000 then
  31. return 'bon';
  32. else
  33. return 'inexistant';
  34. end if;
  35.  
  36. end;
  37. $$ language plpgsql;
  38.  
  39.  
  40. -- ~ EX4
  41. drop function if exists ex4();
  42. create function ex4()
  43. returns SETOF RECORD
  44. as $$
  45. select id_categorie, libelle_categorie, ex2(id_categorie), ex3(id_categorie) from categorie;
  46. $$ language sql;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement