Oracle
 sql >> Base de données >  >> RDS >> Oracle

Comment puis-je obtenir un Oracle SCHEMA en tant que scripts DDL avec DBMS_METADATA (et SCHEMA_EXPORT)

Pas tant une réponse qu'une observation. Il est techniquement possible (mais probablement idiot en pratique) d'avoir des références circulaires dans les contraintes.

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

Donc je pourrais comprendre s'ils décidaient que, parce que ce n'est pas forcément toujours réalisable, ils ne prendraient pas la peine de mettre les objets dans l'ordre des dépendances.

En tant que tel, je laisserais les contraintes référentielles de côté lors de la création des tables, puis je les appliquerais en tant qu'ALTER une fois toutes les tables créées.