Witam,
chciałbym przy tworzeniu tabel od razu definiował jak ma być obliczana wartość wiersza w nim,
np. ilość gości * cena od osoby dla kolumny koszt wynajmu . Czy jest możliwe coś takiego ? Jeśli tak, to jak to zrobić ?
0
2
W sensie chcesz przy kazdym insercie wyliczac wartosc jakiegos pola na podstawie pewnej reguly, nie martwiac sie tym zupelnie w kodzie aplikacji, tylko zeby baza to robila?
Do takiego czegos mozesz uzyc wyzwalacza, na przyklad:
CREATE TRIGGER uzupelnijTabelke
ON dbo.Mixer
INSTEAD OF INSERT
AS
declare @id int;
declare @iloscGosci int;
declare @cenaOdOsoby int;
declare @cenaWynajmu int;
select @id = i.id from inserted i;
select @iloscGosci = i.iloscGosci from inserted i;
select @cenaOdOsoby = i.cenaOdOsoby from inserted i;
select @cenaWynajmu = @iloscGosci * @cenaOdOsoby;
insert into Mixer (id, iloscGosci, cenaOdOsoby, cenaWynajmu)
values (@id, @iloscGosci, @cenaOdOsoby, @cenaWynajmu);
GO
0
COMPUTED COLUMNS lub VIEW