Advertisement
Guest User

Untitled

a guest
May 1st, 2016
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.41 KB | None | 0 0
  1. ALTER PROC NovyPorad(
  2. @p_nazev VARCHAR(50),
  3. @p_stat VARCHAR(50),
  4. @p_rok INT,
  5. @p_delka INT,
  6. @p_typ VARCHAR(50),
  7. @p_zanrID INT,
  8. @p_role VARCHAR(50),
  9.  
  10. @p_idOsoba INT,
  11. @p_jmeno VARCHAR(50) = NULL,
  12. @p_prijmeni VARCHAR(50) = NULL,
  13. @p_datNarozeni DATETIME = NULL,
  14. @p_datUmrti DATETIME = NULL,
  15. @p_mesto VARCHAR(50) = NULL,
  16. @p_statOsoba VARCHAR(50) = NULL
  17. ) AS
  18. BEGIN
  19. BEGIN TRY
  20. DECLARE @v_poradID INT = 0;
  21.  
  22. INSERT INTO Porad(nazev, stat, rok, delka_m, typ, prumerne_hodnoceni)
  23. VALUES (@p_nazev, @p_stat, @p_rok, @p_delka, @p_typ,0)
  24.  
  25. SELECT @v_poradID = MAX(p.pID)
  26. FROM Porad p
  27.  
  28. INSERT INTO PoradZanr(Porad_pID, Zanr_zID) VALUES(@v_poradID, @p_zanrID)
  29. UPDATE Zanr SET pocet_poradu = pocet_poradu + 1 WHERE zID = @p_zanrID
  30.  
  31. DECLARE @v_osobaID INT = 0
  32. IF @p_idOsoba = -1
  33. BEGIN
  34. INSERT INTO Osoba(jmeno, prijmeni, dat_narozeni, dat_umrti, mesto, stat, prumerne_hodnoceni, pocet_poradu)
  35. VALUES(@p_jmeno, @p_prijmeni, @p_datNarozeni, @p_datUmrti, @p_mesto, @p_statOsoba, 0, 1)
  36.  
  37. SELECT @v_osobaID = MAX(o.oID)
  38. FROM Osoba o
  39. END
  40. ELSE
  41. BEGIN
  42. SET @v_osobaID = @p_idOsoba
  43. END
  44. INSERT INTO PoradOsoba(Osoba_oID, Porad_pID, role) VALUES(@v_osobaID, @v_poradID, @p_role)
  45. UPDATE Osoba SET pocet_poradu = pocet_poradu + 1 WHERE oID = @v_osobaID
  46. END TRY
  47. BEGIN CATCH
  48. print 'Exception'
  49. print 'Doslo k chybe, zmeny v DB nejsou provedeny'
  50. print ERROR_MESSAGE()
  51. END CATCH
  52. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement