Advertisement
Guest User

lab1 i lab4

a guest
Jan 17th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 2.24 KB | None | 0 0
  1. LAB 1
  2.  
  3. // 1.
  4.  
  5. SET AUTOCOMMIT = 0;
  6. BEGIN WORK;
  7. UPDATE rezervacija SET oznRadionica = 'R3' WHERE oznRadionica = 'R2';
  8. DELETE FROM radionica WHERE oznRadionica = 'R2';
  9. COMMIT;
  10. SET AUTOCOMMIT = 1;
  11.  
  12. // 2.
  13.  
  14. SET AUTOCOMMIT = 0;
  15. BEGIN WORK;
  16. UPDATE radnik SET sifOdjel = '10' WHERE sifOdjel = '9';
  17. DELETE FROM odjel WHERE sifOdjel = '9';
  18. ROLLBACK WORK;
  19. SET AUTOCOMMIT = 1
  20.  
  21. // 3.
  22.  
  23. DELIMITER //
  24. CREATE PROCEDURE radnici_radionica(IN rad VARCHAR(10), OUT ime VARCHAR(20), OUT prez VARCHAR(20), OUT placa INT)
  25. BEGIN
  26.     SELECT imeRadnik, prezimeRadnik, MAX(IznosOsnovice*KoefPlaca) INTO ime, prez, placa FROM radnik NATURAL JOIN odjel NATURAL JOIN kvar NATURAL JOIN rezervacija WHERE oznRadionica = rad;
  27. END; //
  28. DELIMITER ;
  29.  
  30. CALL radnici_radionica('R3', @a, @b, @c);
  31.  
  32. // 4.
  33.  
  34. DELIMITER //
  35. CREATE PROCEDURE broj_naloga_radnika(INOUT var INT)
  36. BEGIN
  37.     SELECT COUNT(*) INTO var FROM radnik NATURAL JOIN nalog WHERE radnik.sifRadnik = var;
  38. END; //
  39. DELIMITER ;
  40.  
  41. SET @a = 122;
  42. CALL broj_naloga_radnika(@a);
  43. SELECT @a;
  44.  
  45. // 5.
  46.  
  47. DELIMITER //
  48. CREATE FUNCTION povecaj_koef(var INT) RETURNS INT
  49. DETERMINISTIC
  50. BEGIN
  51.     UPDATE radnik SET KoefPlaca = KoefPlaca + 0,5 WHERE sifOdjel = var;
  52.     RETURN 1;
  53. END; //
  54. DELIMITER ;
  55.  
  56. SELECT povecaj_koef(5);
  57.  
  58. // 6
  59.  
  60. DELIMITER //
  61. CREATE FUNCTION podatak_radionica(odabraniKlijent INT) RETURNS VARCHAR(10)
  62. DETERMINISTIC
  63. BEGIN
  64.     DECLARE rad VARCHAR(10);
  65.     SELECT oznRadionica INTO rad FROM radionica NATURAL JOIN rezervacija JOIN nalog ON rezervacija.sifKvar = nalog.sifKvar NATURAL JOIN klijent WHERE sifKlijent = odabraniKlijent;
  66.     RETURN rad;
  67. END; //
  68. DELIMITER ;
  69.  
  70. SELECT podatak_radionica(1210);
  71.  
  72.  
  73.  
  74. LAB 4
  75.  
  76. 1.
  77.  
  78. LOCK TABLE kvar READ;
  79. UPDATE kvar SET nazivKvar = "Test1" WHERE sifKvar = 1;
  80. /* u drugoj sesiji nije moguce zakljucati tablicu */
  81. UNLOCK TABLE kvar;
  82.  
  83. 2.
  84.  
  85. LOCK TABLE kvar WRITE;
  86. /* nije moguce citanje s nove sesije */
  87. UNLOCK TABLE kvar;
  88.  
  89. 3.
  90.  
  91. CREATE USER "marko"@"localhost" IDENTIFIED BY "lozinka123";
  92.  
  93. 4.
  94.  
  95. GRANT INSERT ON baza.rezervacija TO "marko"@"localhost";
  96. GRANT DELETE ON baza.rezervacija TO "marko"@"localhost";
  97. GRANT GRANT OPTION ON baza.rezervacija TO "marko"@"localhost";
  98.  
  99. 5.
  100.  
  101. REVOKE ALL PRIVILEGES ON baza.rezervacija FROM "marko"@"localhost";
  102. DELETE USER "marko"@"localhost";
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement