Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ALTER TRIGGER dbo.trKlientTEL_aINS_UPD ON dbo.Klient
- AFTER INSERT, UPDATE
- AS
- BEGIN
- DECLARE @Var_Telefon char(13),
- @Var_LiczbaWierszy int;
- SELECT @Var_Telefon = Telefon
- FROM [inserted];
- IF (@Var_Telefon IS NOT NULL)
- BEGIN
- SELECT @Var_LiczbaWierszy = COUNT(*)
- FROM dbo.Klient
- WHERE Telefon = @Var_Telefon;
- IF (@Var_LiczbaWierszy > 1)
- BEGIN
- RAISERROR('Wartosci telefonu musi byc unikalna.', 16, 1);
- ROLLBACK TRANSACTION;
- END;
- END;
- END;
- GO
- --------------------------------------------------------------------------------------------
- /*
- INSERT dbo.Klient
- (IdKlient, Imie, Nazwisko, Pesel, Telefon, Miejscowosc, Ulica, NrDomu, NrLokalu, KodPocztowy, [Poczta])
- VALUES
- (11, 'Jan', 'Kowalski', '95852412456', NULL, 'Kalisz', 'Dluga', '3', '6', '62-800', 'Kalisz');
- GO
- */
- --------------------------------------------------------------------------------------------
- ALTER TRIGGER dbo.trRezerwacjaStatus_iDEL
- ON dbo.Rezerwacja
- INSTEAD OF DELETE
- AS
- BEGIN
- DECLARE @Var_IdRezerwacja int,
- @Var_StatusWynajmu varchar(20),
- @Var_IdStatusRezerwacji int;
- SELECT @Var_IdRezerwacja = IdRezerwacja, @Var_StatusWynajmu = StatusWynajmu
- FROM deleted
- INNER JOIN dbo.StatusRezerwacji
- ON deleted.IdStatusRezerwacji = dbo.StatusRezerwacji.IdStatusRezerwacji;
- IF (@Var_StatusWynajmu IN ('wtrakcie', 'rozpoczeta'))
- BEGIN
- SELECT @Var_IdStatusRezerwacji = IdStatusRezerwacji
- FROM dbo.StatusRezerwacji
- WHERE StatusWynajmu = 'anulowane';
- IF (@Var_IdStatusRezerwacji IS NOT NULL)
- UPDATE dbo.Rezerwacja
- SET IdStatusRezerwacji = @Var_IdStatusRezerwacji
- WHERE IdRezerwacja = @Var_IdRezerwacja;
- END
- END;
- GO
- /*
- DELETE dbo.Rezerwacja
- WHERE IdRezerwacja = 2;
- GO
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement