MS SQL SERVER Obliczenia przy tworzeniu tabel

0

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ć ?

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1