Anda tidak dapat mengubah kolom yang ada menjadi kolom identitas asli, tetapi Anda bisa mendapatkan perilaku serupa dengan menggunakan urutan sebagai default untuk kolom.
create sequence seq_tmp_identity_id
start with 4
increment by 1;
Kemudian gunakan:
alter table tmp_identity
modify id
default seq_tmp_identity_id.nextval;
untuk membuat kolom menggunakan urutan sebagai nilai default. Jika mau, Anda dapat menggunakan default on null
untuk menimpa null
explicit eksplisit nilai yang diberikan selama penyisipan (ini sedekat mungkin dengan kolom identitas)
Jika Anda ingin yang nyata kolom identitas Anda harus membuang id
saat ini kolom dan kemudian tambahkan kembali sebagai kolom identitas:
alter table tmp_identity drop column id;
alter table tmp_identity
add id number(38)
generated always as identity;
Perhatikan bahwa Anda tidak boleh menambahkan start with 4
dalam hal ini agar semua baris mendapatkan nomor unik baru