खोज…


टिप्पणियों

एक स्पष्टीकरण क्यों आप 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