MS SQL SERVER Obliczenia przy tworzeniu tabel

Odpowiedz Nowy wątek
2014-12-17 20:32
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ć ?

Pozostało 580 znaków

2014-12-17 20:49

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

Pozostało 580 znaków

2014-12-17 23:27
0

COMPUTED COLUMNS lub VIEW

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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