sql >> Database teknologi >  >> RDS >> Oracle

Oracle - Rediger en eksisterende tabel for automatisk at øge en kolonne

Du kan ikke ændre bordet. Oracle understøtter ikke deklarative auto-incrementing-kolonner. Du kan oprette en sekvens

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

Derefter kan du oprette en trigger

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

eller, hvis du vil tillade opkaldere at angive en ikke-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. Left Outer Join returnerer ikke alle rækker fra mit venstre bord?

  2. Sådan tilslutter du dig på flere kolonner

  3. Sådan opretter du PL/SQL-lagrede procedurer med parametre i Oracle-databasen

  4. Oracle SQL-forespørgsel for at hente specifik hændelse ved hjælp af specifik tilstand i xpath?