postgresql
विरासत
खोज…
टिप्पणियों
एक स्पष्टीकरण क्यों आप PostgreSQL में विरासत का उपयोग करना चाहते हैं के लिए यहाँ उपलब्ध है: http://stackoverflow.com/a/3075248/653378
बच्चों की टेबल बनाना
CREATE TABLE users (username text, email text);
CREATE TABLE simple_users () INHERITS (users);
CREATE TABLE users_with_password (password text) INHERITS (users);
हमारी तीन टेबल इस तरह दिखती हैं:
उपयोगकर्ताओं
स्तंभ | प्रकार |
---|---|
उपयोगकर्ता नाम | टेक्स्ट |
ईमेल | टेक्स्ट |
simple_users
स्तंभ | प्रकार |
---|---|
उपयोगकर्ता नाम | टेक्स्ट |
ईमेल | टेक्स्ट |
users_with_password
स्तंभ | प्रकार |
---|---|
उपयोगकर्ता नाम | टेक्स्ट |
ईमेल | टेक्स्ट |
कुंजिका | टेक्स्ट |
तालिकाओं को बदलना
आइए दो सरल तालिकाएँ बनाएँ:
CREATE TABLE users (username text, email text);
CREATE TABLE simple_users () INHERITS (users);
कॉलम जोड़ना
ALTER TABLE simple_users ADD COLUMN password text;
simple_users
स्तंभ | प्रकार |
---|---|
उपयोगकर्ता नाम | टेक्स्ट |
ईमेल | टेक्स्ट |
कुंजिका | टेक्स्ट |
मूल स्तंभ में समान स्तंभ जोड़ने से दोनों स्तंभों की परिभाषा विलीन हो जाएगी:
ALTER TABLE users ADD COLUMN password text;
सूचना: बच्चे के लिए कॉलम "पासवर्ड" की परिभाषा "simple_users"
गिरते हुए स्तंभ
हमारे परिवर्तित तालिकाओं का उपयोग करना:
ALTER TABLE users DROP COLUMN password;
उपयोगकर्ताओं
स्तंभ | प्रकार |
---|---|
उपयोगकर्ता नाम | टेक्स्ट |
ईमेल | टेक्स्ट |
simple_users
स्तंभ | प्रकार |
---|---|
उपयोगकर्ता नाम | टेक्स्ट |
ईमेल | टेक्स्ट |
कुंजिका | टेक्स्ट |
चूंकि हमने पहली बार कॉलम को simple_users
जोड़ा था, इसलिए PostgreSQL सुनिश्चित करता है कि यह कॉलम गिरा नहीं है।
अब अगर हमारे पास एक और चाइल्ड टेबल है, तो उसका password
कॉलम निश्चित रूप से गिरा दिया जाएगा।
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow