यह आलेख दर्शाता है कि SQL सर्वर में किसी मौजूदा तालिका में परिकलित स्तंभ जोड़ने के लिए T-SQL का उपयोग कैसे करें।
एक गणना कॉलम एक वर्चुअल कॉलम है जो इसके मूल्य की गणना करने के लिए एक अभिव्यक्ति का उपयोग करता है। व्यंजक आम तौर पर अन्य स्तंभों के डेटा का उपयोग करेगा। एक परिकलित स्तंभ तालिका में भौतिक रूप से तब तक संग्रहीत नहीं किया जाता है जब तक कि उस पर PERSISTED
चिह्नित न किया गया हो ।
उदाहरण 1 - गणना किए गए कॉलम के बिना तालिका बनाएं
सबसे पहले, आइए एक टेबल बनाएं बिना एक परिकलित कॉलम।
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;
परिणाम:
+-------------+---------------+------------+---------+ | ProductID | ProductName | Quantity | Price | |-------------+---------------+------------+---------| | 1 | Hammer | 5 | 10.0000 | | 2 | Corkscrew | 2 | 7.5000 | | 3 | Kettle | 3 | 25.1500 | +-------------+---------------+------------+---------+
उदाहरण 2 - एक परिकलित कॉलम जोड़ें
अब एक परिकलित कॉलम जोड़ते हैं।
ALTER TABLE Products ADD TotalValue AS (Quantity * Price);
हमने अभी हाल ही में TotalValue
. नामक एक परिकलित कॉलम जोड़ा है जो Quantity
. में मान को गुणा करता है Price
. में मान वाला कॉलम कॉलम।
जब हम तालिका की सामग्री का चयन करते हैं तो यहां क्या होता है:
SELECT * FROM Products;
परिणाम:
+-------------+---------------+------------+---------+--------------+ | 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 | +-------------+---------------+------------+---------+--------------+
उदाहरण 3 - एक मान अपडेट करें
अब, यदि कोई मान Quantity
. में अपडेट किया गया है या Price
कॉलम, यह गणना किए गए कॉलम द्वारा लौटाए गए कुल मूल्य को प्रभावित करेगा।
उदाहरण:
UPDATE Products SET Quantity = 4 WHERE ProductId = 1; SELECT * FROM Products;
परिणाम:
+-------------+---------------+------------+---------+--------------+ | 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 | +-------------+---------------+------------+---------+--------------+