आप ALTER TABLE
. का उपयोग करके SQLite में किसी मौजूदा तालिका में जेनरेट किए गए कॉलम को जोड़ सकते हैं बयान।
SQLite का ALTER TABLE
. का कार्यान्वयन कथन बहुत सीमित है, लेकिन यह आपको एक कॉलम जोड़ने की अनुमति देता है - जिसमें जेनरेट किए गए कॉलम भी शामिल हैं।
जेनरेट किए गए कॉलम ("गणना किए गए कॉलम" के रूप में भी जाना जाता है) वे कॉलम होते हैं जो अन्य कॉलम से मानों की गणना करने वाले व्यंजक से अपना मान प्राप्त करते हैं।
उदाहरण
प्रदर्शित करने के लिए यहां एक सरल उदाहरण दिया गया है।
मूल तालिका
आइए पहले जेनरेट किए गए कॉलम के बिना एक टेबल बनाएं और कुछ डेटा डालें:
CREATE TABLE Person(
Id INTEGER PRIMARY KEY,
FirstName,
LastName
);
INSERT INTO Person VALUES
( 1, 'Barney', 'Rubble' ),
( 2, 'Peter', 'Griffin' ),
( 3, 'Fritz', 'The Cat' );
SELECT * FROM Person;
परिणाम:
Id FirstName LastName ---------- ---------- ---------- 1 Barney Rubble 2 Peter Griffin 3 Fritz The Cat
जेनरेट किया गया कॉलम जोड़ें
अब उस तालिका में एक जेनरेट किया गया कॉलम जोड़ें।
ALTER TABLE Person ADD COLUMN
FullName GENERATED ALWAYS AS (FirstName || ' ' || LastName);
SELECT * FROM Person;
परिणाम:
Id FirstName LastName FullName ---------- ---------- ---------- ------------- 1 Barney Rubble Barney Rubble 2 Peter Griffin Peter Griffin 3 Fritz The Cat Fritz The Cat
पूरा नाम . नामक एक जेनरेट किया गया कॉलम संकलित था। यह कॉलम प्रथम नाम . को जोड़ता है अंतिम नाम . के साथ कॉलम कॉलम, और इसलिए जो कोई भी इस तालिका से पूछताछ करता है, उसे अब अपनी क्वेरी में उस संयोजन को स्वयं करने की आवश्यकता नहीं है।
डेटा अपडेट करना
आप जनरेट किए गए कॉलम में डेटा को सीधे अपडेट नहीं कर सकते। आपको अंतर्निहित कॉलम में डेटा को अपडेट करना होगा जो इसके मूल्य में योगदान करते हैं।
तो अगर हम बार्नी रूबल को अपडेट करना चाहते हैं करने के लिए बेट्टी रूबल , हमें प्रथम नाम . को अपडेट करना होगा कॉलम।
UPDATE Person
SET FirstName = 'Betty'
WHERE Id = 1;
SELECT * FROM Person;
परिणाम:
Id FirstName LastName FullName ---------- ---------- ---------- --------------- 1 Betty Rubble Betty Rubble 2 Peter Griffin Peter Griffin 3 Fritz The Cat Fritz The Cat