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 | +-------------+---------------+------------+---------+--------------+