Jak korzystać z kolumny obliczonej przez SQL Server

Jak korzystać z kolumny obliczonej przez SQL Server
Obliczona kolumna to wirtualna kolumna, której wartość jest wynikiem wyrażenia, głównie przy użyciu innych danych przechowywanych w innych kolumnach. Obliczona kolumna to wirtualna kolumna, co oznacza, że ​​SQL Server tak naprawdę nie przechowuje jej fizycznie w tabeli. Zamiast tego wartość obliczonej kolumny jest obliczana, gdy dane są zapytane. Możesz jednak przechowywać go fizycznie, określając trwały parametr.

Ten przewodnik da ci niezbędne elementy tworzenia i używania obliczonych kolumn na serwerze SQL.

Zanim zanurzymy się w praktyczny przykład i użyjemy obliczonych kolumn, należy zwrócić uwagę na kilka kluczowych punktów.

  1. Obliczona kolumna nie może zawierać ograniczeń z tytułu domyślnego, a nie zerowych lub obcego, chyba że kolumna jest ustawiona na utrzymanie.
  2. Nie można użyć obliczonej kolumny na instrukcjach wstawki lub aktualizacji.

Zastosowanie kolumny obliczonego serwera SQL

Aby lepiej zrozumieć, jak korzystać z kolumn obliczonych przez SQL Server, użyjemy praktycznego przykładu.

Zacznij od utworzenia przykładowych danych, jak pokazano w poniższych zapytaniach:

Utwórz bazę danych sales_database;
Użyj sales_database;
Utwórz sprzedaż tabeli (
Id Int Identity (1,1) Nie zerowy klucz podstawowy,
Product_name varchar (50),
cena,
ilość int
);
Wstaw do sprzedaży (nazwa_produktu, cena, ilość)
Wartości („ładowarka iPhone”, 9 USD.99, 10),
(„Google Chromecast”, 59 USD.25, 5),
(„PlayStation Dualsense Wireless kontroler”, 69 USD.00, 100),
(„Xbox Series S”, 322 USD.00, 3),
(„Oculus Quest 2”, 299 USD.50, 7),
(„Netgear Nighthawk”, 236 USD.30, 40),
(„Redragon S101”, 35 USD.98, 100),
(„Figura akcji Star Wars”, 17 USD.50, 10),
(„Mario Kart 8 Deluxe”, 57 USD.00, 5);

Po uzyskaniu przykładowych danych możemy kontynuować.

Utwórz obliczoną kolumnę: T-SQL

Tworzenie obliczonej kolumny na serwerze SQL jest proste. Użyj polecenia Utwórz tabelę lub zmień tabelę, aby dodać obliczoną kolumnę.

Na przykład możemy utworzyć obliczoną kolumnę, która oblicza całkowitą cenę pozycji na podstawie ceny i ilości.

Rozważ przykład pokazany poniżej:

Zmień sprzedaż tabeli
Dodaj total_price jako cenę * ilość;

Powyższe zapytanie tworzy nową kolumnę na podstawie wartości kolumn ceny *. Możemy zapytać o nowy stół jako:

Wybierz * ze sprzedaży;

Powstała tabela jest jak pokazana:

Zwróć uwagę, że wartość kolumny Total_Price jest oparta na wartościach kolumn cenowych i ilościowych.

Po zaktualizowaniu wartości w dowolnej kolumnie wartość w kolumnie obliczonej odzwierciedla zmiany, jak pokazano:

Aktualizacja zestawu sprzedaży Ilość = 200
Gdzie id = 3;

Powyższe zapytanie aktualizuje ilość numeru wiersza 3 do 200.

Jeśli ponownie zapytamy o dane, powinniśmy zobaczyć zaktualizowany Total_Price, aby odzwierciedlić zmiany jako:

Wybierz * ze sprzedaży;

Aby utworzyć obliczone podczas tworzenia tabeli, możemy określić kolumnę za pomocą słowa kluczowego AS, a następnie formuła do obliczenia uzyskanego zestawu.

Sprzedaż tabeli zrzutu;
-- Odtwarzaj tabelę i ponownie wprowadzaj przykładowe dane za pomocą nowej obliczonej kolumny
Utwórz sprzedaż tabeli (
Id Int Identity (1,1) Nie zerowy klucz podstawowy,
Product_name varchar (50),
cena,
ilość int,
Total_Price jako cena * ilość
);

To odtworzy tabelę z nową kolumną obliczoną.

Utwórz obliczoną kolumnę: SSMS

Możesz także utworzyć obliczoną kolumnę za pomocą SQL Server Management Studio. W Eksploratorze obiektów w prawo Rozwiń swoją docelową bazę danych -> Tabele -> Kolumny -> Nowa kolumna.

Wprowadź nazwę kolumny i zaakceptowany typ danych.

Rozwiń kartę Właściwości kolumny i wybierz obliczone specyfikacje kolumny. Ustaw formułę dla kolumny, jak pokazano:

Aby zastosować zmiany, wybierz główny pasek narzędzi i kliknij ikonę Zapisz:

Utrzymane obliczone kolumny

Jeśli chcesz fizycznie przechowywać wartości obliczonej kolumny, możesz dodać trwałą właściwość podczas tworzenia kolumn.

Na przykład zapytanie poniżej dodaje utrzymywanej kolumny obliczonej do obliczenia podatku od produktów.

Zmieniają sprzedaż tabeli Dodaj podatek od (1.6 * Ilość * Cena) utrzymywana;

Powstała tabela jest jak pokazana:

Uwaga: nie można użyć wartości innej obliczonej kolumny w obliczonej kolumnie. Na przykład, jeśli spróbujesz ustawić wartość kolumny podatkowej jako 1.6 * Total_Price, SQL Server zwróci błąd.

Pokaż obliczone kolumny: T-SQL

Aby pokazać obliczone kolumny w określonej bazie danych, użyj zapytania, jak pokazano poniżej:

Wybierz * z SYS.computed_columns;

Zapytanie powinno zwrócić szczegóły obliczonych kolumn w wybranej bazie danych.

Wniosek

W tym artykule zrozumiałeś, jak tworzyć i używać obliczonych kolumn na serwerze SQL. Sprawdź dokumentację, aby dowiedzieć się więcej.