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

ऑरैकल डेटाबेस में टेबल ड्रॉप कॉलम बदलें

हमें अक्सर टेबल में कॉलम ड्रॉप करना पड़ता है। Oracle में कॉलम ड्रॉप करने के दो तरीके हैं
(a) ऑरैकल में टेबल ड्रॉप कॉलम को बदलें
(b) ऑरैकल में टेबल सेट अप्रयुक्त कॉलम को बदलें

ड्रॉप कॉलम का उपयोग करके ड्रॉप कॉलम

यहां इसमें हम नीचे दिए गए कमांड का उपयोग करके कॉलम को टेबल से ड्रॉप करते हैं .

टेबल टेबल_नामड्रॉप कॉलम col_name;

यह स्टेटमेंट टेबल पर एक्सक्लूसिव लॉक लेता है और अगर टेबल बड़ी है, तो क्वेरी को निष्पादित करने में समय लगेगा

उदाहरण

SQL> CREATE TABLE Books_master(Book_Id NUMBER(6,0), शीर्षक VARCHAR2(50), लेखक VARCHAR2(50),ISBN VARCHAR2(25),BCकॉस्ट NUMBER(6,0),Publish_Year NUMBER(4,0) ,CONSTRAINT Books_master_PK प्राथमिक कुंजी (Book_Id),CONSTRAINT Books_master_UK1 UNIQUE (शीर्षक, लेखक),CONSTRAINT Books_master_UK2 UNIQUE (ISBN)); तालिका बनाई गई। , 'पूर्ण/सुविधाजनक', 'केतन भगत', 'ISBN 978-93-80349-92-3', 195, 2013); SQL> INSERT INTO Books_master (Book_Id, शीर्षक, लेखक, ISBN, BCost, Publish_Year) मान ( 20, 'डिसेप्शन पॉइंट', 'डैन ब्राउन', 'ISBN 0-671-02738-7', 563,2001);SQL> INSERT INTO Books_master (Book_Id, Title, Author, ISBN, BCost, Publish_Year) VALUES (30, 'एंजेल्स-डेमन्स', 'डैन ब्राउन', 'आईएसबीएन 0-671-02736-0',563, 2000);एसक्यूएल>इन्सर्ट इनटू बुक्स_मास्टर (बुक_आईडी, टाइटल, ऑथर, आईएसबीएन, बीकॉस्ट, पब्लिश_ईयर) वैल्यू (40, ' हैरी पॉटर', 'जे.के. राउलिंग', 'आईएसबीएन 0-7475-5100-6', 102,2003); प्रारूप a10SQL> स्तंभ AUTHOR प्रारूप a10SQL> स्तंभ ISBN प्रारूप a15
SQL> Desc BOOKS_MASTER

आइए इस तालिका से एक कॉलम ड्रॉप करें

एसक्यूएल> टेबल बुक्स_मास्टर ड्रॉप कॉलम को बदलें PUBLISH_YEAR;टेबल चेंज किया गया।एसक्यूएल> विवरण BOOKS_MASTER
SQL> Books_master से * चुनें;

अप्रयुक्त सेट का उपयोग करके ड्रॉप कॉलम

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

सिंटैक्स

वैकल्पिक तालिका 
अप्रयुक्त स्तंभ सेट करें ;

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

ALTER TABLE 
अप्रयुक्त कॉलम ड्रॉप करें;

यदि आपके पास बड़ी तालिकाएँ हैं, तो आप CHECKPOINT विकल्प का उपयोग करके संचित पूर्ववत लॉग की मात्रा को कम कर सकते हैं, जो निर्दिष्ट पंक्तियों के संसाधित होने के बाद एक चेकपॉइंट को बाध्य करता है। चेकपॉइंटिंग पूर्ववत स्थान की संभावित थकावट से बचने के लिए ड्रॉप कॉलम ऑपरेशन के दौरान जमा पूर्ववत लॉग की मात्रा में कटौती करता है।

ALTER TABLE table_name अप्रयुक्त कॉलम चेकपॉइंट 500 ड्रॉप करें;

  • यदि आपने अपने ड्रॉप कमांड के साथ चेकपॉइंट सिंटैक्स का उपयोग किया है तो आप ड्रॉप के माध्यम से सत्र को समाप्त कर सकते हैं (या डेटाबेस को बंद कर सकते हैं)।
  • तालिका DML या क्वेरी के लिए उपलब्ध नहीं होगी
  • आप "जारी रखें" (वैकल्पिक चेकपॉइंट के साथ) विकल्प का उपयोग करके "कॉलम ड्रॉप करें" कमांड को समाप्त कर सकते हैं।
टेबलड्रॉप कॉलम बदलें चेकपॉइंट जारी रखें;टेबलड्रॉप कॉलम बदलें चेकपॉइंट 5000 जारी रखें;

उदाहरण
पहले बनाई गई तालिका के साथ चलते हैं

एसक्यूएल> टेबल बुक्स बदलें_मास्टर सेट अप्रयुक्त कॉलम आईएसबीएन;टेबल चेंज।एसक्यूएल> डिस्क बुक्स_मास्टर
SQL> Books_master से * चुनें;

हम नीचे दिए गए दृश्य USER_UNUSED_COL_TABS, ALL_UNUSED_COL_TABS, या DBA_UNUSED_COL_TABS

को क्वेरी करके अप्रयुक्त कॉलम संख्या की जांच कर सकते हैं।
SQL> DBA_UNUSED_COL_TABS से * चुनें जहां TABLE_NAME='BOOKS_MASTER';

अब आप कम गतिविधि अवधि के दौरान कॉलम को छोड़ सकते हैं

SQL> तालिका बदलें Books_master अप्रयुक्त कॉलम छोड़ दें; तालिका बदल दी गई है। 

एकाधिक कॉलम कैसे छोड़ें

ड्रॉप कमांड के दौरान हम कई कॉलम निर्दिष्ट कर सकते हैं

SQL> टेबल बुक बदलें_मास्टर ड्रॉप (AUTHOR,TITLE);तालिका बदल दी गई।

आशा है कि आपको ऑरैकल में टेबल ड्रॉप कॉलम को बदलने पर पोस्ट पसंद आई होगी। कृपया फ़ीडबैक प्रदान करें

यह भी पढ़ता है
Oracle प्राथमिक कुंजी
टेबल मूव बदलें
ऑरैकल में टेबल का नाम बदलें कॉलम
https://docs.oracle.com/cd/B28359_01/server.111/b28310/tables006. एचटीएम


  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 में पासवर्ड कैसे एन्क्रिप्ट करें?

  2. चरण-दर-चरण अपग्रेड प्रक्रिया R12.2 में अपग्रेड करें भाग -3

  3. एक कर्सर को सशर्त रूप से परिभाषित करें

  4. ओआरए-27154 / ओआरए-27146

  5. स्प्रिंग डेटा में इकाई के लिए स्कीमा का नाम जोड़ा जा रहा है?