Gebruik select ... as ...
om een tabel te maken nooit kopieerbeperkingen. Als u wilt dat de nieuwe tabel beperkingen overneemt van de originele tabellen, moet u de nieuwe beperkingen handmatig maken.
Zoals @Davek aangeeft, not null
beperkingen worden gekopieerd uit een enkele tabel select ... as ...
. Ik kan me voorstellen dat dat komt omdat het zowel kolomattributen als beperkingen zijn. Als de kolom echter meer dan één bron heeft, is het redelijk dat Oracle niet zou proberen die beperking toe te passen.
Als antwoord op de vervolgvraag "is het mogelijk om tableC
dezelfde beperkingen ofwel van tableA
of tableB
, na een CTA's?":
Natuurlijk is het mogelijk, maar er is geen enkel commando om het te doen. Je zou een procedure kunnen schrijven die dynamische SQL gebruikt om de beperkingen te kopiëren. Tenzij u dit gedrag echter wilt automatiseren, is het over het algemeen gemakkelijker om de DDL uit te pakken met een IDE en de tabelnaam te wijzigen.