Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Wie erhalte ich ein Oracle SCHEMA als DDL-Skripte mit DBMS_METADATA (und SCHEMA_EXPORT)

Weniger eine Antwort als vielmehr eine Beobachtung. Es ist technisch möglich (aber in der Praxis wahrscheinlich dumm), Zirkelverweise in Einschränkungen zu haben.

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

Ich könnte also verstehen, wenn sie sich dafür entschieden hätten, weil es nicht unbedingt immer erreichbar ist, sie würden sich nicht die Mühe machen, die Objekte in Abhängigkeitsreihenfolge zu bringen.

Daher würde ich die referenziellen Einschränkungen weglassen, wenn Tabellen erstellt werden, und sie dann als ALTERs anwenden, nachdem alle Tabellen erstellt wurden.