Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ALTER PROC NovyPorad(
- @p_nazev VARCHAR(50),
- @p_stat VARCHAR(50),
- @p_rok INT,
- @p_delka INT,
- @p_typ VARCHAR(50),
- @p_zanrID INT,
- @p_role VARCHAR(50),
- @p_idOsoba INT,
- @p_jmeno VARCHAR(50) = NULL,
- @p_prijmeni VARCHAR(50) = NULL,
- @p_datNarozeni DATETIME = NULL,
- @p_datUmrti DATETIME = NULL,
- @p_mesto VARCHAR(50) = NULL,
- @p_statOsoba VARCHAR(50) = NULL
- ) AS
- BEGIN
- BEGIN TRY
- DECLARE @v_poradID INT = 0;
- INSERT INTO Porad(nazev, stat, rok, delka_m, typ, prumerne_hodnoceni)
- VALUES (@p_nazev, @p_stat, @p_rok, @p_delka, @p_typ,0)
- SELECT @v_poradID = MAX(p.pID)
- FROM Porad p
- INSERT INTO PoradZanr(Porad_pID, Zanr_zID) VALUES(@v_poradID, @p_zanrID)
- UPDATE Zanr SET pocet_poradu = pocet_poradu + 1 WHERE zID = @p_zanrID
- DECLARE @v_osobaID INT = 0
- IF @p_idOsoba = -1
- BEGIN
- INSERT INTO Osoba(jmeno, prijmeni, dat_narozeni, dat_umrti, mesto, stat, prumerne_hodnoceni, pocet_poradu)
- VALUES(@p_jmeno, @p_prijmeni, @p_datNarozeni, @p_datUmrti, @p_mesto, @p_statOsoba, 0, 1)
- SELECT @v_osobaID = MAX(o.oID)
- FROM Osoba o
- END
- ELSE
- BEGIN
- SET @v_osobaID = @p_idOsoba
- END
- INSERT INTO PoradOsoba(Osoba_oID, Porad_pID, role) VALUES(@v_osobaID, @v_poradID, @p_role)
- UPDATE Osoba SET pocet_poradu = pocet_poradu + 1 WHERE oID = @v_osobaID
- END TRY
- BEGIN CATCH
- print 'Exception'
- print 'Doslo k chybe, zmeny v DB nejsou provedeny'
- print ERROR_MESSAGE()
- END CATCH
- END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement