Artikel ini menunjukkan cara menggunakan T-SQL untuk menambahkan kolom terhitung ke tabel yang sudah ada di SQL Server.
kolom terhitung adalah kolom virtual yang menggunakan ekspresi untuk menghitung nilainya. Ekspresi biasanya akan menggunakan data dari kolom lain. Kolom yang dihitung tidak disimpan secara fisik dalam tabel kecuali jika ditandai PERSISTED .
Contoh 1 – Membuat Tabel TANPA Kolom Terhitung
Pertama, mari kita buat tabel tanpa kolom yang dihitung.
CREATE TABLE Products
(
ProductID int IDENTITY (1,1) NOT NULL,
ProductName varchar(255),
Quantity smallint,
Price money
);
INSERT INTO Products (ProductName, Quantity, Price)
VALUES
('Hammer', 5, 10),
('Corkscrew', 2, 7.50),
('Kettle', 3, 25.15);
SELECT *
FROM Products;
Hasil:
+-------------+---------------+------------+---------+ | ProductID | ProductName | Quantity | Price | |-------------+---------------+------------+---------| | 1 | Hammer | 5 | 10.0000 | | 2 | Corkscrew | 2 | 7.5000 | | 3 | Kettle | 3 | 25.1500 | +-------------+---------------+------------+---------+
Contoh 2 – Tambahkan Kolom yang Dihitung
Sekarang mari tambahkan kolom terhitung.
ALTER TABLE Products ADD TotalValue AS (Quantity * Price);
Kami baru saja menambahkan kolom terhitung yang disebut TotalValue yang mengalikan nilai dalam Quantity kolom dengan nilai di Price kolom.
Inilah yang terjadi ketika kita memilih isi tabel sekarang:
SELECT * FROM Products;
Hasil:
+-------------+---------------+------------+---------+--------------+ | ProductID | ProductName | Quantity | Price | TotalValue | |-------------+---------------+------------+---------+--------------| | 1 | Hammer | 5 | 10.0000 | 50.0000 | | 2 | Corkscrew | 2 | 7.5000 | 15.0000 | | 3 | Kettle | 3 | 25.1500 | 75.4500 | +-------------+---------------+------------+---------+--------------+
Contoh 3 – Perbarui Nilai
Sekarang, jika nilai diperbarui dalam Quantity atau Price kolom, ini akan mempengaruhi nilai total yang dikembalikan oleh kolom yang dihitung.
Contoh:
UPDATE Products SET Quantity = 4 WHERE ProductId = 1; SELECT * FROM Products;
Hasil:
+-------------+---------------+------------+---------+--------------+ | ProductID | ProductName | Quantity | Price | TotalValue | |-------------+---------------+------------+---------+--------------| | 1 | Hammer | 4 | 10.0000 | 40.0000 | | 2 | Corkscrew | 2 | 7.5000 | 15.0000 | | 3 | Kettle | 3 | 25.1500 | 75.4500 | +-------------+---------------+------------+---------+--------------+