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