Oracle
 sql >> Database >  >> RDS >> Oracle

Come ottengo uno SCHEMA Oracle come script DDL con DBMS_METADATA (e SCHEMA_EXPORT)

Non tanto una risposta quanto un'osservazione. È tecnicamente possibile (ma probabilmente stupido in pratica) avere riferimenti circolari nei vincoli.

create table blue (blue_id number primary key, val varchar2(10), red_id number);
create table red (red_id number primary key, val varchar2(10), blue_id number);

insert into blue values (1,'test',2);
insert into red values (2,'test',1);

alter table blue add constraint blue_fk foreign key (red_id) references red (red_id);
alter table red add constraint red_fk foreign key (blue_id) references blue (blue_id);

Quindi potrei capire se decidessero che, poiché non è necessariamente sempre realizzabile, non si preoccuperebbero di mettere gli oggetti in ordine di dipendenza.

Pertanto, lascerei fuori i vincoli referenziali durante la creazione delle tabelle, quindi li applicherei come ALTER dopo che tutte le tabelle sono state create.