sql >> Base de Datos >  >> RDS >> Oracle

¿Cómo obtengo un SCHEMA de Oracle como scripts DDL con DBMS_METADATA (y SCHEMA_EXPORT)?

No tanto una respuesta como una observación. Es técnicamente posible (pero probablemente tonto en la práctica) tener referencias circulares en las restricciones.

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);

Así que podría entender si decidieran que, debido a que no siempre se puede lograr necesariamente, no se molestarían en poner los objetos en orden de dependencia.

Como tal, dejaría fuera las restricciones referenciales cuando se crean las tablas, luego las aplicaría como ALTER después de que se hayan creado todas las tablas.