1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
Declare
-- Déclaration du curseur T1
CURSOR req1 IS SELECT A,B,C,D,E FROM T1 WHERE A is not Null;
-- cursor ID du nouvel enregistrement
CURSOR id_seq IS select mySeq.nextval as myID from dual;
next_id NUMBER;
Begin
-- Migration de T1
For Cur IN req1 Loop
DBMS_OUTPUT.PUT_LINE('migration T1') ;
For val IN id_seq Loop
DBMS_OUTPUT.PUT_LINE(val.myID) ;
next_id:=val.myID+1;
End loop;
INSERT INTO T2(A,B,C,D,E)
VALUES (Cur.A,Cur.B,Cur.C,Cur.D,'blabla');
Update T1 Set id_fk = next_id Where A=Cur.A ;
End loop ;
EXECUTE IMMEDIATE 'ALTER TABLE T1 DROP COLUMN A';
EXECUTE IMMEDIATE 'ALTER TABLE T1 DROP COLUMN B';
EXECUTE IMMEDIATE 'ALTER TABLE T1 DROP COLUMN C';
EXECUTE IMMEDIATE 'ALTER TABLE T1 DROP COLUMN D';
End |
Partager