Oracle
 sql >> база данни >  >> RDS >> Oracle

Oracle - Модифициране на съществуваща таблица за автоматично увеличаване на колона

Не можете да промените масата. Oracle не поддържа декларативни автоматично увеличаващи се колони. Можете да създадете последователност

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

След това можете да създадете тригер

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 Dual в MS SqlServer?

  2. Каква е разликата между изгледи и материализирани изгледи в Oracle?

  3. Hibernate не генерира идентификатор, когато използва последователност на Oracle

  4. Как мога да изброя всички таблици, съществуващи в връзка към база данни (Oracle)?

  5. Литералът за дата '[гггг-мм-дд]' на Oracle винаги ли използва модела гггг-мм-дд?