Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

Oracle में तालिका कैसे बदलें

आवश्यकता परिवर्तन और उन्नयन के आधार पर हमें अक्सर Oracle में तालिका को बदलने की आवश्यकता होती है। टेबल स्टेटमेंट में बदलाव के बारे में कुछ महत्वपूर्ण बिंदु यहां दिए गए हैं

  • आप तालिका बदलें  . का उपयोग करके किसी तालिका को बदलते या संशोधित करते हैं बयान।
  • तालिका को आपकी स्कीमा में शामिल किया जाना चाहिए किसी तालिका को बदलने के लिए, या आपके पास तालिका के लिए  ALTER ऑब्जेक्ट विशेषाधिकार या किसी भी तालिका सिस्टम को बदलने का विशेषाधिकार होना चाहिए।
  • यदि कोई दृश्य, भौतिक दृश्य, ट्रिगर, फ़ंक्शन-आधारित अनुक्रमणिका, चेक बाधा, कार्य, पैकेज की प्रक्रिया आधार तालिका पर निर्भर करती है, तो आधार तालिका या उसके स्तंभों का परिवर्तन निर्भर वस्तु को प्रभावित कर सकता है उदाहरण के लिए plsql ऑब्जेक्ट बन जाते हैं अमान्य  यदि आश्रित तालिका वस्तु बदल दी गई है और आपको उन्हें फिर से मान्य बनाना होगा

भौतिक विशेषताओं को संशोधित करें (INITRANS या संग्रहण पैरामीटर)

हम ऑल्टर टेबल स्टेटमेंट का उपयोग करके टेबल के स्टोरेज पैरामीटर को संशोधित कर सकते हैं। हम इस तरह inittrans को संशोधित कर सकते हैं

ALTER TABLE TABLE_NAME INITRANS 10;

टेबल को नए सेगमेंट या टेबलस्पेस में ले जाना

यदि आवश्यक हो तो हम गैर-विभाजन तालिका या तालिका के विभाजन को एक नए खंड या नए टेबलस्पेस में ले जा सकते हैं

Alter table table_name move tablespace <tablespace name>

हम टेबल के किसी भी स्टोरेज पैरामीटर को बदलने के लिए मूव कमांड का उपयोग भी कर सकते हैं, जो कि अल्टर टेबल कमांड का उपयोग करके संशोधित नहीं किया गया है

डेटा प्रकार बदलने के लिए oracle में तालिका बदलें

हम किसी भी कॉलम के डेटा प्रकार को बदल सकते हैं तालिका में बदलाव करें आदेश को संशोधित करें

ALTER TABLE <table_name>
MODIFY (<column_name>  <new_data_type>);
Before
SQL> desc emp
 Name                                      Null?    Type
 ----------------------------------------- -------- -----------------------
 EMPNO                                     NOT NULL NUMBER(4)
 ENAME                                              VARCHAR2(10)
 JOB                                                VARCHAR2(9)
 MGR                                                NUMBER(4)
 HIREDATE                                           DATE
 SAL                                                NUMBER(7,2)
 COMM                                               NUMBER(7,2)
 DEPTNO                                             NUMBER(2)


After
SQL> desc emp
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 EMPNO                                     NOT NULL NUMBER(4)
 ENAME                                              VARCHAR2(20)
 JOB                                                VARCHAR2(9)
 MGR                                                NUMBER(4)
 HIREDATE                                           DATE
 SAL                                                NUMBER(7,2)
 COMM                                               NUMBER(7,2)
 DEPTNO                                             NUMBER(2)

ऑरैकल में कॉलम डेटाटाइप संशोधित करें

नया कॉलम जोड़ें/कॉलम छोड़ें/कॉलम का नाम बदलें

हम टेबल की परिभाषा में एक नया कॉलम जोड़ सकते हैं

तालिका बदलें का उपयोग करना कमांड जोड़ें

ALTER TABLE <table_name>
ADD (<New column_name>  <new_data_type>);

Oracle आपको किसी तालिका में मौजूदा कॉलम का नाम बदलने की अनुमति देता है। कॉलम का नाम बदलने के लिए ALTER TABLE स्टेटमेंट के RENAME COLUMN क्लॉज का इस्तेमाल करें

Oracle आपको कमांड का उपयोग करके तालिका में कॉलम छोड़ने की अनुमति देता है

तालिका बदलें ड्रॉप कॉलम;
विवरण में इनके बारे में जानने के लिए कृपया नीचे दिया गया लेख देखें

टेबल एड कॉलम ऑरैकल बदलें

अप्रयुक्त कॉलम सेट करें और अप्रयुक्त कॉलम को छोड़ दें

यदि आप कॉलम को छोड़ने में खर्च किए गए संसाधन के बारे में चिंतित हैं तो आप ALTER TABLE… SET UNUSED कथन का उपयोग कर सकते हैं।

यह कथन एक या अधिक स्तंभों को अप्रयुक्त के रूप में चिह्नित करता है लेकिन वास्तव में लक्ष्य स्तंभ डेटा को नहीं हटाता है या इन स्तंभों द्वारा कब्जा किए गए डिस्क स्थान को पुनर्स्थापित नहीं करता है।

  • एक कॉलम जिसे अप्रयुक्त के रूप में चिह्नित किया गया है, वह क्वेरी या डेटा डिक्शनरी दृश्यों में प्रदर्शित नहीं होता है, और उसका नाम हटा दिया जाता है ताकि एक नया कॉलम उस नाम का पुन:उपयोग कर सके। कॉलम पर परिभाषित सभी बाधाएं, इंडेक्स और आंकड़े भी हटा दिए जाते हैं।
Example
ALTER TABLE <table_name>
SET UNUSED COLUMN <column_name>;

हम अप्रयुक्त कॉलम को बाद में तब छोड़ सकते हैं जब कमांड का उपयोग करके संसाधन कम हो

ALTER TABLE <table_name>
Drop  UNUSED COLUMN ;

तालिका से संबद्ध अखंडता बाधाओं को जोड़ें, संशोधित करें या छोड़ें या आप बाधाओं को सक्षम/अक्षम भी कर सकते हैं

तालिका जोड़ें बाधाओं को बदलें का उपयोग करके बाधाओं को जोड़ें

ALTER TABLE EMP ADD CONSTRAINT EMP_FK FOREIGN KEY (DEPT_NO) REFERENCES 
DEPT(DEPT_NO);

ड्रॉपिंग बाधाएं - का उपयोग करके किया जाता है

ALTER TABLE DROP CONSTRAINT <constraint_name> command;

बाधाओं को सक्षम / अक्षम करना - बाधाओं को अक्षम / सक्षम मोड में बनाया जा सकता है या कमांड का उपयोग करके अक्षम या सक्षम किया जा सकता है

ALTER TABLE ENABLE/DISABLE CONSTRAINT <constraint_name>

टेबल का नाम बदलें

Oracle आपको तालिका के नाम का नाम बदलने की भी अनुमति देता है

Rename <table name>  to <new table name>;

टेबल कैश/नो-कैश में बदलाव,  संपीड़न, समानांतरवाद

Oracle अनुमति देता है टेबल कैश/नो-कैश में बदलाव, संपीड़न, समानता

संबंधित लेख

Oracle में सभी टेबल्स की सूची बनाएं
टेबल ऑरैकल बनाएं
ora-20005:ऑब्जेक्ट स्टैटिस्टिक्स लॉक हैं
टेबल मूव को बदलें
ऑरैकल में टेबल पर सभी बाधाओं की जांच कैसे करें
https ://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_3001.htm


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle SQL डेवलपर में tnsnames.ora का उपयोग करें

  2. Oracle में <> का क्या अर्थ है

  3. Oracle डाटाबेस 18c . में सीडीबी बेड़े का प्रबंधन

  4. MAX (DATE) के साथ GROUP BY

  5. SQLPlus पर एक स्क्रिप्ट निष्पादित करते समय, यह आउटपुट के बजाय संख्याओं का एक क्रम प्रिंट करता है