Advertisement
Guest User

Untitled

a guest
Nov 16th, 2018
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.69 KB | None | 0 0
  1. ALTER TRIGGER dbo.trKlientTEL_aINS_UPD ON dbo.Klient
  2. AFTER INSERT, UPDATE
  3. AS
  4. BEGIN
  5. DECLARE @Var_Telefon char(13),
  6. @Var_LiczbaWierszy int;
  7.  
  8. SELECT @Var_Telefon = Telefon
  9. FROM [inserted];
  10.  
  11. IF (@Var_Telefon IS NOT NULL)
  12. BEGIN
  13. SELECT @Var_LiczbaWierszy = COUNT(*)
  14. FROM dbo.Klient
  15. WHERE Telefon = @Var_Telefon;
  16.  
  17. IF (@Var_LiczbaWierszy > 1)
  18. BEGIN
  19. RAISERROR('Wartoœsci telefonu musi byc unikalna.', 16, 1);
  20. ROLLBACK TRANSACTION;
  21. END;
  22. END;
  23.  
  24. END;
  25. GO
  26. --------------------------------------------------------------------------------------------
  27. /*
  28. INSERT dbo.Klient
  29. (IdKlient, Imie, Nazwisko, Pesel, Telefon, Miejscowosc, Ulica, NrDomu, NrLokalu, KodPocztowy, [Poczta])
  30. VALUES
  31. (11, 'Jan', 'Kowalski', '95852412456', NULL, 'Kalisz', 'Dluga', '3', '6', '62-800', 'Kalisz');
  32. GO
  33.  
  34. */
  35.  
  36.  
  37. --------------------------------------------------------------------------------------------
  38. ALTER TRIGGER dbo.trRezerwacjaStatus_iDEL
  39. ON dbo.Rezerwacja
  40. INSTEAD OF DELETE
  41. AS
  42. BEGIN
  43. DECLARE @Var_IdRezerwacja int,
  44. @Var_StatusWynajmu varchar(20),
  45. @Var_IdStatusRezerwacji int;
  46. SELECT @Var_IdRezerwacja = IdRezerwacja, @Var_StatusWynajmu = StatusWynajmu
  47. FROM deleted
  48. INNER JOIN dbo.StatusRezerwacji
  49. ON deleted.IdStatusRezerwacji = dbo.StatusRezerwacji.IdStatusRezerwacji;
  50.  
  51. IF (@Var_StatusWynajmu IN ('wtrakcie', 'rozpoczeta'))
  52. BEGIN
  53. SELECT @Var_IdStatusRezerwacji = IdStatusRezerwacji
  54. FROM dbo.StatusRezerwacji
  55. WHERE StatusWynajmu = 'anulowane';
  56.  
  57. IF (@Var_IdStatusRezerwacji IS NOT NULL)
  58. UPDATE dbo.Rezerwacja
  59. SET IdStatusRezerwacji = @Var_IdStatusRezerwacji
  60. WHERE IdRezerwacja = @Var_IdRezerwacja;
  61. END
  62. END;
  63. GO
  64.  
  65. /*
  66.  
  67. DELETE dbo.Rezerwacja
  68. WHERE IdRezerwacja = 2;
  69. GO
  70.  
  71. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement