U kunt van een bestaande kolom geen echte identiteitskolom maken, maar u kunt een soortgelijk gedrag krijgen door een reeks als standaard voor de kolom te gebruiken.
create sequence seq_tmp_identity_id
start with 4
increment by 1;
Gebruik dan:
alter table tmp_identity
modify id
default seq_tmp_identity_id.nextval;
om de kolom de reeks als standaardwaarde te laten gebruiken. Als je wilt, kun je default on null
. gebruiken om een expliciete null
te overschrijven waarde opgegeven tijdens het invoegen (dit komt zo dicht mogelijk bij een identiteitskolom)
Als je een echte . wilt identiteitskolom moet u de huidige id
. weglaten kolom en voeg het dan opnieuw toe als een identiteitskolom:
alter table tmp_identity drop column id;
alter table tmp_identity
add id number(38)
generated always as identity;
Merk op dat u de start with 4
. niet moet toevoegen in dit geval zodat alle rijen een nieuw uniek nummer krijgen