Nie można przekształcić istniejącej kolumny w kolumnę rzeczywistej tożsamości, ale można uzyskać podobne zachowanie, używając sekwencji jako domyślnej dla kolumny.
create sequence seq_tmp_identity_id
start with 4
increment by 1;
Następnie użyj:
alter table tmp_identity
modify id
default seq_tmp_identity_id.nextval;
aby kolumna używała sekwencji jako wartości domyślnej. Jeśli chcesz, możesz użyć default on null
nadpisać jawny null
wartość podana podczas wstawiania (jest tak blisko, jak tylko można dostać się do kolumny tożsamości)
Jeśli chcesz prawdziwego kolumna tożsamości, musisz usunąć bieżący id
kolumnę, a następnie dodaj ją ponownie jako kolumnę tożsamości:
alter table tmp_identity drop column id;
alter table tmp_identity
add id number(38)
generated always as identity;
Pamiętaj, że nie powinieneś dodawać start with 4
w tym przypadku, aby wszystkie wiersze otrzymały nowy unikalny numer