Witam, zwracam się o pomoc w stworzeniu tiggera z użyciem funkcji lub widoku. Stworzyłam funckję, która ma mi zliczać sumę wszystkich pasażerów na statku (załoga + reszta) i chcę do tego stworzyć trigger, że przy wpisywaniu nowego rekordu ma on sprawdzać czy dozwolona ilość miejsc nie została przekroczona. Próbowałam i na funkcji, i na widoku i nic mi nie wychodzi, cały czas dodaje mi rekord mimo przekroczonej liczby dozwolonej. Nie mam pojęcia już jak to zrobić, bo robiłam na wiele sposobów
-funkcja
CREATE FUNCTION [dbo].[SumaPasażerów] (@Idp int)
RETURNS int
AS
BEGIN
DECLARE @rb int
SELECT @rb=Ilość_załogi+Ilość_pasażerów from pasażerowie where id=@Idp
RETURN @rb
END
- trigger na widoku z użyciem funkcji
CREATE TRIGGER dbo.KontrolaPasażerów ON dbo.ilośćosóbnastatku
instead of INSERT AS
DECLARE @ww int, @idp int
SELECT @ww=[Ilość miejsc pasażerskich] from dbo.IlośćOsóbNaStatku
IF @ww > @idp
Begin
PRINT 'DOZWOLONA ILOŚĆ OSÓB'
end
ELSE
BEGIN
PRINT 'ZAGROŻENIE! ZA DUŻO PASAŻERÓW!'
ROLLBACK
END