Advertisement
Guest User

Untitled

a guest
May 22nd, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.75 KB | None | 0 0
  1. create database clasa;
  2. use clasa;
  3.  
  4. CREATE TABLE Studenti (
  5. IdStudent INT PRIMARY KEY AUTO_INCREMENT,
  6. Nume VARCHAR(50) NOT NULL,
  7. Prenume VARCHAR(50) NOT NULL,
  8. Adresa VARCHAR(50) NOT NULL
  9. );
  10.  
  11. CREATE TABLE Profesori (
  12. IdProfesor INT PRIMARY KEY AUTO_INCREMENT,
  13. Nume VARCHAR(20) NOT NULL,
  14. Prenume VARCHAR(20) NOT NULL,
  15. Materia VARCHAR(50)
  16. );
  17.  
  18. CREATE TABLE Legatura (
  19. IdProfesor INT,
  20. IdStudent INT,
  21. FOREIGN KEY (IdProfesor)
  22. REFERENCES Profesori (IdProfesor),
  23. FOREIGN KEY (IdStudent)
  24. REFERENCES Studenti (IdStudent)
  25. );
  26.  
  27. insert into Profesori values( NULL , 'Pupezescu', 'Valentin' , 'Baze');
  28. insert into Profesori values( NULL , 'Tache', 'Gurmandu' , 'Televiziune');
  29. insert into Profesori values( NULL , 'Boul', 'Dracu' , 'Proiect');
  30. insert into Profesori values( NULL , 'Zoican', 'Sorin' , 'SDA/AMP');
  31. insert into Profesori values( NULL , 'Petrescu', 'Theodor' , 'SS');
  32. insert into Profesori values( NULL , 'Adi', 'GGD' , 'SS');
  33.  
  34. insert into Studenti values( NULL , 'Adi', 'GGD' , 'Branc');
  35. insert into Studenti values( NULL , 'Gao', 'GPlanet' , 'Racov');
  36. insert into Studenti values( NULL , 'Titu', 'Saturn' , 'Big');
  37. insert into Studenti values( NULL , 'Marius', 'Mars' , 'Rahov');
  38. insert into Studenti values( NULL , 'Petre', 'TGar' , 'Berce');
  39.  
  40. insert into Legatura values (1,1);
  41. insert into Legatura values (2,2);
  42. insert into Legatura values (3,3);
  43. insert into Legatura values (4,4);
  44.  
  45. SELECT
  46. Studenti.Nume, Studenti.Prenume
  47. FROM
  48. Studenti,
  49. Profesori,
  50. Legatura
  51. WHERE
  52. Studenti.IdStudent = Legatura.IdStudent
  53. AND Profesori.IdProfesor = Legatura.IdProfesor
  54. AND Profesori.Nume = 'Pupezescu';
  55.  
  56. SELECT
  57. Nume, Prenume
  58. FROM
  59. Studenti
  60. WHERE
  61. Adresa = 'Racov'
  62. UNION SELECT
  63. Nume, Prenume
  64. FROM
  65. Profesori
  66. WHERE
  67. Materia = 'Baze';
  68.  
  69. SELECT DISTINCT
  70. Studenti.Nume, Studenti.Prenume
  71. FROM
  72. Studenti
  73. WHERE
  74. NOT EXISTS( SELECT
  75. *
  76. FROM
  77. Profesori
  78. WHERE
  79. Studenti.nume = Profesori.nume
  80. AND Studenti.prenume = Profesori.prenume);
  81.  
  82.  
  83. delimiter $$
  84. create trigger trig
  85. BEFORE INSERT ON Profesori
  86. FOR EACH ROW
  87. begin
  88. declare mesaj varchar(20);
  89. if NEW.Nume='Tudorache' then
  90. signal sqlstate '45000' set MESSAGE_TEXT="EROARE DF";
  91. end if;
  92. end$$
  93.  
  94. insert into Profesori values( NULL , 'Tudorache', 'GGD' , 'SS');
  95.  
  96.  
  97. delimiter $$
  98. CREATE PROCEDURE proc(p_idstudent INT, p_nume varchar(50), p_prenume varchar(50), p_adresa varchar(50))
  99. BEGIN
  100. IF p_prenume = 'Andrei' THEN
  101. SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = "EROARE DF";
  102. ELSE
  103. INSERT INTO Studenti VALUES (NULL, p_nume, p_prenume,p_adresa);
  104. END IF;
  105. END$$
  106.  
  107. CALL proc(NULL,'Marius','Andrei','Adr')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement