OK then, as you're on Oracle 11g, there's no identity column there so - back to multiple steps. Here's an example:
I'm creating a table that simulates your imported table:
SQL> create table tab_import as 2 select ename, job, sal 3 from emp 4 where deptno = 10; Table created.
Add the ID column:
SQL> alter table tab_import add id number; Table altered.
Create a sequence which will be used to populate the ID column:
SQL> create sequence seq_imp; Sequence created.
Update current rows:
SQL> update tab_import set 2 id = seq_imp.nextval; 3 rows updated.
Create a trigger which will take care about future inserts (if any):
SQL> create or replace trigger trg_bi_imp 2 before insert on tab_import 3 for each row 4 begin 5 :new.id := seq_imp.nextval; 6 end; 7 / Trigger created.
Check what's in the table at the moment:
SQL> select * from tab_import; ENAME JOB SAL ID ---------- --------- ---------- ---------- CLARK MANAGER 2450 1 KING PRESIDENT 5000 2 MILLER CLERK 1300 3
Let's import some more rows:
SQL> insert into tab_import (ename, job, sal) 2 select ename, job, sal 3 from emp 4 where deptno = 20; 3 rows created.
The trigger had silently populated the ID column:
SQL> select * From tab_import; ENAME JOB SAL ID ---------- --------- ---------- ---------- CLARK MANAGER 2450 1 KING PRESIDENT 5000 2 MILLER CLERK 1300 3 SMITH CLERK 800 4 JONES MANAGER 2975 5 FORD ANALYST 3000 6 6 rows selected. SQL>
Shortly: you need to
- alter table and add the ID column
- create a sequence
- create a trigger
The end.