sql >> Databasteknik >  >> RDS >> Oracle

Oracle - Ändra en befintlig tabell för att automatiskt öka en kolumn

Du kan inte ändra tabellen. Oracle stöder inte deklarativa kolumner för automatisk ökning. Du kan skapa en sekvens

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

Sedan kan du skapa en utlösare

CREATE OR REPLACE TRIGGER populate_note_id
  BEFORE INSERT ON note
  FOR EACH ROW
BEGIN
  :new.note_id := note_seq.nextval;
END;

eller, om du vill tillåta uppringare att ange en icke-standard 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. Hur man distribuerar PostgreSQL för hög tillgänglighet

  2. MySQL DROP UTLANDSNYCKEL Begränsning

  3. Vad är data och information och datavolymer

  4. Förstå transaktioner i SQL