Advertisement
Guest User

Untitled

a guest
Nov 27th, 2014
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.07 KB | None | 0 0
  1. -- 5.7
  2. create procedure vloz_vyucujiciho2
  3. @jmeno varchar(50),
  4. @prijmeni varchar(50),
  5. @predmet varchar(50),
  6. @id_ucitel int OUTPUT,
  7. @id_predmet int OUTPUT
  8. AS
  9. BEGIN
  10.  
  11. SELECT @id_ucitel=u.id_ucitel FROM ucitel u
  12. WHERE u.jmeno = @jmeno AND u.prijmeni = @prijmeni
  13.  
  14. IF @id_ucitel IS NULL
  15. BEGIN
  16. INSERT INTO ucitel VALUES(@jmeno, @prijmeni)
  17. SET @id_ucitel = IDENT_CURRENT('ucitel')
  18. END
  19.  
  20. -- DECLARE @id_predmet int
  21.  
  22. SELECT @id_predmet=id_predmet FROM predmet
  23. WHERE nazev = @predmet
  24.  
  25. IF @id_predmet IS NULL
  26. BEGIN
  27. INSERT INTO predmet VALUES(@predmet)
  28. SET @id_predmet = IDENT_CURRENT('predmet')
  29. END
  30.  
  31.  
  32. INSERT INTO vyucujici VALUES(@id_ucitel, @id_predmet)
  33. END
  34.  
  35. -- EXEC vloz_vyucujiciho 'Jan', 'Novák', 'Tělocvik'
  36.  
  37. go
  38.  
  39. create procedure body_znamka
  40. @body int,
  41. @znamka varchar(1) OUTPUT
  42. AS
  43. BEGIN
  44. IF(@body >= 90)
  45. BEGIN
  46. SET @znamka = 'A'
  47. END
  48. ELSE IF(@body >= 80)
  49. BEGIN
  50. SET @znamka = 'B'
  51. END
  52. ELSE IF(@body >= 70)
  53. BEGIN
  54. SET @znamka = 'C'
  55. END
  56. ELSE IF(@body >= 60)
  57. BEGIN
  58. SET @znamka = 'D'
  59. END
  60. ELSE IF(@body >= 50)
  61. BEGIN
  62. SET @znamka = 'E'
  63. END
  64. ELSE
  65. BEGIN
  66. SET @znamka = 'F'
  67. END
  68. END
  69.  
  70. go
  71.  
  72. create procedure save_hodnoceni
  73. @jmeno_u varchar(50),
  74. @prijmeni_u varchar(50),
  75. @jmeno_s varchar(50),
  76. @prijmeni_s varchar(50),
  77. @predmet varchar(50),
  78. @body int
  79. AS
  80. BEGIN
  81.  
  82. DECLARE @id_ucitel int
  83. DECLARE @id_predmet int
  84. EXEC vloz_vyucujiciho2 @jmeno_u, @prijmeni_u, @predmet, @id_ucitel OUTPUT, @id_predmet OUTPUT
  85.  
  86. DECLARE @id_student int
  87. EXEC save_student @jmeno_s, @prijmeni_s, @id_student OUTPUT
  88.  
  89.  
  90. DECLARE @exists int
  91. SELECT @exists=count(id_student) FROM znamka
  92. WHERE id_student = @id_student AND id_ucitel = @id_ucitel AND id_predmet = @id_predmet
  93. print @exists
  94.  
  95. IF (@exists = 0)
  96. BEGIN
  97. INSERT INTO znamka VALUES(@id_student, @id_ucitel, @id_predmet, @body)
  98. DECLARE @znamka varchar
  99. EXEC body_znamka 85, @znamka OUTPUT
  100. PRINT 'Znamka: '+@znamka
  101. END
  102. ELSE
  103. BEGIN
  104. PRINT 'Známka již byla zadána'
  105. END
  106. END
  107.  
  108. EXEC save_hodnoceni 'Michal', 'Vrana', 'Marek', 'Mrkva', 'matematika', 75
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement