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

Oracle - एक कॉलम को ऑटो-इन्क्रीमेंट करने के लिए मौजूदा टेबल को संशोधित करें

आप तालिका नहीं बदल सकते। Oracle घोषणात्मक ऑटो-इन्क्रीमेंटिंग कॉलम का समर्थन नहीं करता है। आप एक क्रम बना सकते हैं

CREATE SEQUENCE note_seq
  START WITH 800
  INCREMENT BY 1
  CACHE 100;

फिर, आप एक ट्रिगर बना सकते हैं

प्रत्येक ROWBEGIN के लिए नोट पर डालने से पहले
CREATE OR REPLACE TRIGGER populate_note_id
  BEFORE INSERT ON note
  FOR EACH ROW
BEGIN
  :new.note_id := note_seq.nextval;
END;

या, यदि आप कॉल करने वालों को एक गैर-डिफ़ॉल्ट NOTE_ID निर्दिष्ट करने की अनुमति देना चाहते हैं

CREATE OR REPLACE TRIGGER populate_note_id
  BEFORE INSERT ON note
  FOR EACH ROW
BEGIN
  IF( :new.note_id is null )
  THEN 
    :new.note_id := note_seq.nextval;
  END IF;
END;


  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. Oracle PL/SQL में ONLINE का उपयोग करके गैर-विभाजन तालिका को विभाजित तालिका में बदलें

  3. ऑरैकल काउंट नल प्रति कॉलम

  4. IN बनाम OR Oracle, कौन सा तेज़?

  5. ओरेकल - regexp_substr शून्य मान वापस करने के लिए