MarVin666

TAB ps1

Feb 25th, 2016
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. CREATE TABLE komunikat
  3. (id_pom NUMBER(4),
  4. id_pom1 NUMBER(4),
  5. id_pom2 NUMBER(4));
  6. --
  7. CREATE TABLE komunikat_1
  8. (id_pom NUMBER(4),
  9. id_pom1 VARCHAR2(10),
  10. id_pom2 VARCHAR2(10));
  11. --
  12. SELECT k.NAZWA, count(w.ISBN)
  13. FROM t_ksiazka w, t_wydawca k
  14. WHERE k.id_wydawcy = 1 AND w.WYDAWCA = k.ID_WYDAWCY
  15. GROUP BY k.ID_WYDAWCY,k.nazwa;
  16.  
  17.  
  18. --
  19. DECLARE
  20. v_liczba NUMBER;
  21. v_wydawca T_WYDAWCA.NAZWA%TYPE;
  22.  
  23. BEGIN
  24.  
  25. SELECT k.NAZWA, count(w.ISBN)
  26. INTO v_wydawca, v_liczba
  27. FROM t_ksiazka w, t_wydawca k
  28. WHERE k.id_wydawcy = 1 AND w.WYDAWCA = k.ID_WYDAWCY
  29. GROUP BY k.ID_WYDAWCY,k.nazwa;
  30.  
  31. INSERT INTO komunikat_1(id_pom1,id_pom) VALUES(v_wydawca,v_liczba);
  32.  
  33. END;
  34. --
  35. //Najtansza_najdrozsza_ksiazka
  36.  
  37. DECLARE
  38. v_liczba NUMBER;
  39. v_nazwa T_KSIAZKA.TYTUL%TYPE;
  40. --
  41. BEGIN
  42.  
  43. SELECT tytul,cena
  44. INTO v_nazwa, v_liczba
  45. FROM t_ksiazka
  46. WHERE cena=(SELECT MAX(CENA) FROM t_ksiazka);
  47.  
  48. INSERT INTO komunikat_1(id_pom1,id_pom) VALUES(v_nazwa,v_liczba);
  49.  
  50.  
  51. END;
  52.  
  53. --
  54. BEGIN
  55.   FOR i IN (SELECT tytul,cena FROM t_ksiazka WHERE cena=(SELECT MIN(CENA) FROM t_ksiazka)) LOOP
  56.     INSERT INTO komunikat_1(id_pom1,id_pom) VALUES(i_tytul,i_cena);
  57.   END LOOP;
  58. END;
  59. --
  60. BEGIN
  61.  
  62. UPDATE t_ksiazka
  63. SET cena=cena*1.1
  64. WHERE cena>30;
  65.  
  66. END;
  67. --
  68. BEGIN
  69.  
  70. FOR i IN (SELECT id_zam, SUM(ilosc) as liczba
  71.           FROM t_z_ksiazka
  72.           GROUP BY id_zam   )      
  73.           LOOP
  74.           INSERT INTO komunikat_1(id_pom1,id_pom) VALUES(i_id_zam,i_liczba);
  75.           END LOOP;
  76. END;
Advertisement
Add Comment
Please, Sign In to add comment