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 36 37
| SQL> drop sequence maseq1;
SÚquence supprimÚe.
SQL> create sequence maseq1 start with 123 maxvalue 99999999 minvalue 1 cycle nocache order;
SÚquence crÚÚe.
SQL> drop sequence maseq2;
SÚquence supprimÚe.
SQL> create or replace procedure ma_proc ( sequence_de_ref in varchar2, nouvelle_sequence in varchar2 ) is
2 seqval number;
3 begin
4 execute immediate 'select '||trim(sequence_de_ref)||'.currval from dual' into seqval;
5 execute immediate 'create sequence '||nouvelle_sequence||' start with '||to_char(seqval)||' maxvalue 99999999 minvalue 1 cycle cache 20 noorder' ;
6 end;
7 /
ProcÚdure crÚÚe.
SQL> select maseq1.nextval from dual;
NEXTVAL
----------
123
SQL> exec ma_proc( 'maseq1', 'maseq2' )
ProcÚdure PL/SQL terminÚe avec succÞs.
SQL> select maseq2.nextval from dual;
NEXTVAL
----------
123 |
Partager