sql >> Database >  >> RDS >> Oracle

Oracle - Een bestaande tabel wijzigen om een ​​kolom automatisch te verhogen

Je kunt de tafel niet veranderen. Oracle ondersteunt geen declaratieve kolommen voor automatisch ophogen. U kunt een reeks maken

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

Vervolgens kunt u een trigger maken

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

of, als u bellers wilt toestaan ​​een niet-standaard NOTE_ID te specificeren

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. Is de id-kolompositie in Postgresql belangrijk?

  2. maakt een verhoogde kolom de b-tree-index op de kolom onevenwichtig?

  3. Een 32-bits applicatie verbinden met jBASE

  4. Hoe in te voegen in tabelnaam als alias met behulp van pg-promise insert helper?