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

Как да добавите последователна колона към съществуваща таблица със записи

Ще трябва да добавите колона

ALTER TABLE userlog
  ADD( user_id number );

създаване на последователност

CREATE SEQUENCE user_id_seq
  START WITH 1
  INCREMENT BY 1
  CACHE 20;

Актуализирайте данните в таблицата

UPDATE userlog
   SET user_id = user_id_seq.nextval

Ако приемем, че искате user_id за да бъде първичен ключ, тогава ще добавите ограничението за първичен ключ

ALTER TABLE userlog
  ADD CONSTRAINT pk_user_id PRIMARY KEY( user_id );

Ако искате да използвате последователността за автоматично добавяне на user_id когато правите INSERT (другата опция би била да се посочи конкретно user_id_seq.nextval във вашия INSERT изрази, ще ви е необходим и тригер

CREATE OR REPLACE TRIGGER trg_userlog_user_id
  BEFORE INSERT ON userlog
  FOR EACH ROW
BEGIN
  :new.user_id := user_id_seq.nextval;
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. Функция TO_CHAR(число) в Oracle

  2. Как да дефинирам пакетна процедура на Oracle в H2 за тестване

  3. Как да преброим срещанията на разделител в низ, с изключение на тези в кавички

  4. Конфигуриране на пакета UTL_MAIL Предпоставки

  5. Как да съедините две таблици, за да получите следния резултат?