sql >> Databáze >  >> RDS >> Oracle

Jak přidat sloupec sekvence do existující tabulky se záznamy

Budete muset přidat sloupec

ALTER TABLE userlog
  ADD( user_id number );

vytvořit sekvenci

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

Aktualizujte data v tabulce

UPDATE userlog
   SET user_id = user_id_seq.nextval

Za předpokladu, že chcete user_id chcete-li být primárním klíčem, přidali byste omezení primárního klíče

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

Pokud chcete použít sekvenci k automatickému přidání user_id když provedete INSERT (druhou možností by bylo konkrétně odkazovat na user_id_seq.nextval ve vašem INSERT příkazy, budete také potřebovat spoušť

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. Django/MySQL-python - Připojení pomocí starého (před 4.1.1) ověřovacího protokolu odmítnuto (možnost klienta 'secure_auth' povolena)

  2. Problém návrhu tabulky databáze

  3. Entity Framework ObjectContext -> nezpracovaná volání SQL do nativního DBMS

  4. Složitý Wordpress dotaz pomocí více dotazů